試したスレッドを使用して画面上で画像を移動したいのですが、スレッドのコードが不適切なためうまく機能しません。画像を取得でき、画面上で画像を移動したいこのコードでは、楕円形の画像を移動したいのですが、ジェリー画像に影響を与える必要はありませんが、問題はスレッドがその上に実装されていることです。margenMaxX、margenxyは最大の幅と高さです
public class AnimatedView extends ImageView {
public AnimatedView(Context context) {
super(context);
Resources res = context.getResources();
drawable = res.getDrawable(R.drawable.jerry);
mDrawable = new ShapeDrawable(new OvalShape());
mDrawable.getPaint().setColor(0xffffAC23);
}
protected void onDraw(final Canvas cc) {
final Context context = null;
drawable.setBounds(x , y , x + width, y + height);
drawable.draw(cc);
invalidate();
Thread thread = new Thread()
{
@Override
public void run() {
try {
while(i<=margenMaxX && j<=margenmaxy) {
sleep(100);
// context.runOnUiThread(new Runnable() {
//handler.post(r);
runOnUiThread(new Runnable() {
@Override
public void run() {
mDrawable.setBounds(i, j ,i+ width, i+ height);
mDrawable.draw(cc);
}
});
//invalidate();
i=i+10;
j=j+10;
}
} catch (InterruptedException e) {
e.printStackTrace();
}
}
};
thread.start();
}