Android 自定义组件随着手指自动画圆
生活随笔
收集整理的這篇文章主要介紹了
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);}@Overrideprotected void onDraw(Canvas canvas) {super.onDraw(canvas);//設置畫筆的顏色 p.setColor(Color.RED);//繪制一個小球canvas.drawCircle(currentX, currentY, 15, p);}/*** 為該組件的觸碰事件重寫事件處理方法*/@Overridepublic 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 {@Overrideprotected 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 {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.custom_layout);} }?
轉載于:https://www.cnblogs.com/zhujiabin/p/4308036.html
總結
以上是生活随笔為你收集整理的Android 自定义组件随着手指自动画圆的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 数据结构之查找算法:基本概念
- 下一篇: 【C语言笔记初级篇】第三章:函数与递归