国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Android自定義組件跟隨自己手指主動畫圓

2019-12-12 02:24:11
字體:
來源:轉載
供稿:網友

本文實例為大家分享了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

<?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); //獲取布局文件里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例如以下:

<?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); }}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 璧山县| 元阳县| 丹东市| 沂南县| 江永县| 乌审旗| 探索| 浦江县| 莱芜市| 泰顺县| 金川县| 田阳县| 萨迦县| 河西区| 青海省| 中山市| 北安市| 绥德县| 遂昌县| 青川县| 凉城县| 石台县| 安西县| 蓬莱市| 冷水江市| 祁门县| 耿马| 广昌县| 钟山县| 娄底市| 吉隆县| 砚山县| 策勒县| 永州市| 中西区| 景谷| 荆门市| 无极县| 乌拉特前旗| 遂平县| 农安县|