作者:262610 | 来源:互联网 | 2022-08-02 10:50
本文实例讲述了Android开发实现跟随手指的小球效果。分享给大家供大家参考,具体如下:
配置DrawView类用于绘制小球
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | public class DrawView extends View {
public float currentX = 40 ;
public float currentY = 50 ;
Paint p = new Paint();
public DrawView(Context context)
{
super (context);
}
public DrawView(Context context , AttributeSet set)
{
super (context,set);
}
@Override
public void onDrawForeground(Canvas canvas) {
super .onDrawForeground(canvas);
p.setColor(Color.RED);
canvas.drawCircle(currentX , currentY , 30 , p);
}
@Override
public boolean onTouchEvent(MotionEvent event) {
currentX = event.getX();
currentY = event.getY();
invalidate();
return true ;
}
}
|
MainActivity
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super .onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
LinearLayout root = (LinearLayout) findViewById(R.id.root);
final DrawView draw = new DrawView( this );
draw.setMinimumWidth( 300 );
draw.setMinimumHeight( 500 );
root.addView(draw);
}
}
|
xml文件
<&#63;xml version="1.0" encoding="utf-8"&#63;>
**注:**由上面布局,已经添加了自定义组件,因此Activity代码可简化为:
1 2 3 4 5 6 7 | public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super .onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}
|
示例:

更多关于Android相关内容感兴趣的读者可查看本站专题:《Android控件用法总结》、《Android开发入门与进阶教程》、《Android视图View技巧总结》、《Android编程之activity操作技巧总结》、《Android数据库操作技巧总结》及《Android资源操作技巧汇总》
希望本文所述对大家Android程序设计有所帮助。