Android 自定义组件随着手指自动画圆
2015-03-02 09:51
309 查看
首先自定义一个View子类:
主界面XML:
custom_layout.xml
主activity文件如下:
效果:
除此之外:
还可以用XML的方式:也是首先建一个View的子类,和上面一样。然后主界面XML如下:
主activity文件如下:
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
<pre name="code" class="java"><?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/root" android:orientation="vertical" > </LinearLayout>
主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); } }
效果:
除此之外:
还可以用XML的方式:也是首先建一个View的子类,和上面一样。然后主界面XML如下:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/root" android:orientation="vertical" > <com.example.androidtest0.myView.DrawView android:layout_width="match_parent" android:layout_height="match_parent" /> </LinearLayout>
主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 自定义组件随着手指自动画圆
- Android自定义组件系列【16】——最帅气的自动滚动广告条
- Android-通过自定义View组件实现跟随手指移动的ImageView组件
- Android自定义组件系列【16】——最帅气的自动滚动广告条
- android自定义view之画圆随着手指移动
- Android 实例:通过自定义View组件实现跟随手指移动的小兔子
- android 自己定义组件随着手指自己主动画圆
- Android自定义组件之自动换行View
- Android自定义组件之自动换行的TextView
- Android自定义组件之自动换行View - 儒雅小生
- Android自定义组件之自动换行View - 儒雅小生
- android自定义组件-跟随手指的小球
- Android自定义组件之自动换行ViewGroup
- 【Android进阶】Android自定义组件之自动换行View,以TextView为例
- Android自定义组件系列【16】——最帅气的自动滚动广告条
- Android自定义组件之自动换行View
- Android自定义组件跟随自己手指主动画圆
- Android 自定义组件学习 2
- 说说Android 两种为自定义组件添加属性的使用方法和区别 推荐
- android构建自定义的视图组件