простой вопрос может быть, но не может найти решение.
У меня есть кнопка для обновления / обновления содержимого. Кнопка называется «обновить».
На фоне этой кнопки - у меня есть изображение. Я хочу установить вращаемую анимацию для этого изображения, пока мой контент обновляется. Но у меня есть некоторые проблемы: во-первых, мой контент обновлен, и только тогда я вижу анимацию: вот мой код:
Timer myTimer;
public void timerS()
{
myTimer = new Timer();
myTimer.schedule(new TimerTask() {
@Override
public void run() {
TimerMethod();
}
}, 0, 100);
}
private void TimerMethod()
{
this.runOnUiThread(Timer_Tick);
}
private Runnable Timer_Tick = new Runnable() {
public void run() {
// drawMatrix();
animation();
seconds++;
}
};
int degree =60;
int oneClick=1;
public int nowUpdated = 0;
public void animation()
{
int currentRotation = 0;
RotateAnimation anim = new RotateAnimation(currentRotation, (360*4),
Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF,0.5f);
currentRotation = (currentRotation + 45) % 360;
anim.setInterpolator(new LinearInterpolator());
anim.setDuration(10000);
anim.setFillEnabled(true);
anim.setFillAfter(true);
refresh.startAnimation(anim);
}
Я пытался использовать таймер для этого. Сначала мой пример был с drawMatrix - но там я не могу решить проблему с размером изображения. Когда мое изображение поворачивается - анимация очень большая. Размер изображения 32x32 .. но когда кликните для обновления - я думаю, что размер изображения составляет 64x64. и не могу это исправить
Вот код для рисования матрицы:
public void drawMatrix()
{
if(nowUpdated==1)
{
Matrix mat = new Matrix();
degree=degree+45;
mat.postRotate(degree);
Bitmap source = BitmapFactory.decodeResource(getResources(),R.drawable.refresh);
Bitmap a = Bitmap.createBitmap(source, 0, 0, 32 , 32, mat, true);
Drawable d =new BitmapDrawable(a);
refresh.setBackgroundDrawable(d);
}
}
пожалуйста, если кто-нибудь может мне помочь - скажите, пожалуйста, как исправить мой первый код или второй.
С уважением, Питер.