在这个浮躁的环境下,我一定要做好自己。
在我们自定义View时,我们需要先重写View中的构造方法。
public class DrawView extends View {
private float currentX = 30 ;
private float currentY = 40 ;
private Paint paint = new Paint() ;
public DrawView(Context context) {
super(context);
// TODO Auto-generated constructor stub
}
public DrawView(Context context,AttributeSet set) {
// TODO Auto-generated constructor stub
super(context,set) ;
}
@Override
protected void onDraw(Canvas canvas) {
// TODO Auto-generated method stub
super.onDraw(canvas);
paint.setColor(Color.RED) ;
canvas.drawCircle(currentX, currentY, 15, paint) ;
}
//当view发生触屏事件时会调用此方法
@Override
public boolean onTouchEvent(MotionEvent event) {
// TODO Auto-generated method stub
currentX = event.getX() ;
currentY = event.getY() ;
//通知当前组件重绘自己
invalidate() ;
return true;
}
}
然后我们就可以在自己的xml资源文件中进行应用啦。
<RelativeLayout 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" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello_world" />
<com.example.customview.DrawView
android:layout_width="match_parent"
android:layout_height="match_parent"
/>
</RelativeLayout>