第一次写博客,出于好奇,也是小白的一次跨越。不断积累,但愿在未来可以有所收获,记录点点滴滴的学习过程!
实现:小球随手指触摸简单移动。
MainActivity.java代码如下:
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
FrameLayout frameLayout = (FrameLayout) findViewById(R.id.mylayout);
final BallView ball = new BallView(MainActivity.this);
// 为小球添加触摸事件监听器
ball.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
ball.ballmapX = event.getX();
ball.ballmapY = event.getY();
ball.invalidate();
return true;
}
});
frameLayout.addView(ball);
}
public class BallView extends View {
public float ballmapX;
public float ballmapY;
public BallView(Context context) {
super(context);
ballmapX = 0;
ballmapY = 0;
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
Paint paint = new Paint();
Bitmap ballmap = BitmapFactory.decodeResource(this.getResources(),
R.drawable.ball);
canvas.drawBitmap(ballmap, ballmapX, ballmapY, paint);
if (ballmap.isRecycled()) {
ballmap.recycle();
}
}
}
}
activity_main.xml代码如下:
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/mylayout"
android:background="@android:color/holo_green_light">
</FrameLayout>
drawable中引入图片:
效果: