Android怎么自定义view组件?这篇文章运用了实例代码展示,代码非常详细,可供感兴趣的小伙伴们参考借鉴,希望对大家有所帮助。

Android中的组件类似于swxing中的Panel,它只是一片空白区域,对于UI组件来说,只是在其中绘制外观。

开发者可以继承view,自定义自己的组件,然后重写其中的方法:

构造器:当java创建或者xml创建组件时调用

下面通过一个例子,该例子设计一个组件,在手触摸的地方绘制一个圆形:


新建java类,添加如下代码:

packagecom.example.tupianliulanqi;importandroid.content.Context;importandroid.graphics.Canvas;importandroid.graphics.Color;importandroid.graphics.Paint;importandroid.view.MotionEvent;importandroid.view.View;publicclassMyViewextendsView{privatePaintp=newPaint();privatefloatmyX=0;privatefloatmyY=0;publicMyView(Contextcontext){super(context);//TODOAuto-generatedconstructorstub}//用于重新绘制组件publicvoidonDraw(Canvascanvas){super.onDraw(canvas);//设置画笔属性p.setColor(Color.RED);canvas.drawCircle(myX,myY,15,p);}//触摸事件发生时调用publicbooleanonTouchEvent(MotionEventevent){myX=event.getX();myY=event.getY();//告诉需要重新绘制组件this.invalidate();returntrue;}}


在Activity中添加:

publicclassMainActivityextendsActivity{MyViewmyview;@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);LinearLayoutlayout=(LinearLayout)this.findViewById(R.id.main);myview=newMyView(this);;layout.addView(myview);}

以上就是Android自定义view组件的详细内容,代码示例简单明了,如果在日常工作遇到此问题。通过这篇文章,希望你能有所收获,更多详情敬请关注亿速云行业资讯频道!