小编给大家分享一下Android如何实现自定义组件跟随自己手指主动画圆,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!
公司主营业务:成都做网站、成都网站设计、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。创新互联是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。创新互联推出疏附免费做网站回馈大家。
具体内容如下
首先自己定义一个View子类:
package com.example.androidtest0.myView; import android.content.Context; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import android.util.AttributeSet; import android.view.MotionEvent; import android.view.View; 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 attrs) { super(context, attrs); } @Override protected void onDraw(Canvas canvas) { super.onDraw(canvas); //设置画笔的颜色 p.setColor(Color.RED); //绘制一个小球 canvas.drawCircle(currentX, currentY, 15, p); } /** * 为该组件的触碰事件重写事件处理方法 */ @Override public boolean onTouchEvent(MotionEvent event) { //改动currentX、currentY两个属性 currentX = event.getX(); currentY = event.getY(); //通知当前组件重绘自己 invalidate(); return true; } }
主界面XML:
custom_layout.xml
主activity:
package com.example.androidtest0; import com.example.androidtest0.myView.DrawView; import android.app.Activity; import android.os.Bundle; import android.widget.LinearLayout; public class CustomView extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.custom_layout); //获取布局文件里LinearLayout容器 LinearLayout root = (LinearLayout)findViewById(R.id.root); //创建DrawView组件 final DrawView drawView = new DrawView(this); //设置自己定义组件的最小宽度、高度 drawView.setMinimumWidth(10); drawView.setMinimumHeight(10); root.addView(drawView); } }
效果:
除此之外:
还能够用XML的方式:也是首先建一个View的子类。和上面一样。
然后主界面XML例如以下:
主activity文件例如以下:
package com.example.androidtest0; import com.example.androidtest0.myView.DrawView; import android.app.Activity; import android.os.Bundle; import android.widget.LinearLayout; public class CustomView extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.custom_layout); } }
看完了这篇文章,相信你对“Android如何实现自定义组件跟随自己手指主动画圆”有了一定的了解,如果想了解更多相关知识,欢迎关注创新互联行业资讯频道,感谢各位的阅读!