80,362
社区成员
发帖
与我相关
我的任务
分享
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.util.AttributeSet;
import android.util.Log;
import android.view.MotionEvent;
import android.view.View;
public class TestView extends View {
int x = 150, y = 50;
public TestView(Context context, AttributeSet attrs)
{
super(context, attrs);
}
void getXY(int _x, int _y) {
x = _x;
y = _y;
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
canvas.drawColor(Color.CYAN);
Paint paint = new Paint();
paint.setAntiAlias(true);
paint.setColor(Color.BLUE);
canvas.drawCircle(x, y, 30, paint);
paint.setColor(Color.WHITE);
canvas.drawCircle(x - 9, y - 9, 6, paint);
}
@Override
public boolean dispatchTouchEvent(MotionEvent event) {
int x1, y1;
if (event.getAction() == MotionEvent.ACTION_DOWN)
{
x1 = (int) event.getX();
y1 = (int) event.getY();
getXY(x1,y1);
invalidate();
return true;
}
else if (event.getAction() == MotionEvent.ACTION_MOVE) {
x1 = (int) event.getX();
y1 = (int) event.getY();
getXY(x1, y1);
invalidate();
return true;
}
return super.dispatchTouchEvent(event);
}
}
public class MainActivity extends AppCompatActivity {
TestView tView=null ;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_two);
tView = (TestView) findViewById(R.id.testview1);
}
}