0

好的,我正在尝试创建一个简单的应用程序,该应用程序将在您单击的任何位置绘制一个形状(我正在尝试一个圆圈)。我已经尝试了几次,但还没有任何工作。我认为有人以前做过这个,所以如果有一个类似项目的教程/源代码的链接,那会有所帮助。我认为我坚持的是如何使用线程,以及如何更新 onDraw() 函数。如果您还没有弄清楚,我对 Android 甚至 java 还是很陌生。

目前我有:

--Main.java--

    public class MAIN extends Activity {
        CustomDrawableView mCustomDrawableView; 
        /** Called when the activity is first created. */
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);

            mCustomDrawableView = new CustomDrawableView(this);        
            setContentView(mCustomDrawableView);

        }

//Implement a thread here that would somehow update the view everytime.  Everytime I try this though it doesn't work
    }

--CustomDrawableView.java--

public class CustomDrawableView extends View {
    //private ShapeDrawable mDrawable;
    int x=0;
    int y=0;

    public CustomDrawableView(Context context) {
        super(context);

    }

    protected void onDraw(Canvas canvas) {
        Paint mPaint = new Paint();
        mPaint.setColor(0xffff0000);
        canvas.drawCircle(x, y, 5, mPaint);
    }
}
4

1 回答 1

1

您不需要为这么简单的事情显式创建线程。

在您的视图中,只需覆盖 onTouchEvent,打开 MotionEvent.getAction,当它为 ACTION_DOWN 时,将 x 和 y 设置为 MotionEvent.getX() 和 getY(),然后调用 invalidate()

于 2011-02-23T03:03:48.937 回答