自定义View组件

  

  自定义组件是通过继承View类,重写View类的方法而得,得到个性化的颜色、呈现、行为的组件。


 

一个圆:

public class SelfView extends View {
    float currentX=40;
    float currentY=50;
  //坐标,为float类型。 Paint paint
=new Paint();
  //画笔,
public SelfView(Context context) { super(context); } public SelfView(Context context,AttributeSet set){ super(context,set); }
  //以上是SelfView类的两个构造函数
  //重写了View类的onDraw()方法,其参数是Canvas类型的 @Override
public void onDraw(Canvas canvas){ super.onDraw(canvas);
  //指定画笔颜色 paint.setColor(Color.BLUE);
  //绘画图形 canvas.drawCircle(currentX,currentY,
25,paint); }
  //重写了onTouchEvent事件 @Override
public boolean onTouchEvent(MotionEvent motionEvent){
  //获取触摸下的新坐标位置 currentX
=motionEvent.getX(); currentY=motionEvent.getY();
  //通知当前组件重绘自己,为什么不能通过this.onDraw(),或onDraw()呢? invalidate();
return true; } }

像添加系统组件那样添加自定义的SelfView组件:

SelfView selfView=new SelfView(this);
        root.addView(selfView);

也可以在XML中:

<com.×××.×××.×××.SelfView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" />

 


 

posted @ 2015-09-21 23:31  农耕_时代  阅读(183)  评论(0编辑  收藏  举报