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

首頁 > 系統 > Android > 正文

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

2019-10-22 18:31:38
字體:
來源:轉載
供稿:網友

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

效果:

Android,跟隨手指,畫圓

除此之外:

還能夠用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); }}

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


注:相關教程知識閱讀請移步到Android開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 南江县| 南丹县| 江安县| 海淀区| 洛隆县| 贵定县| 池州市| 韶关市| 张北县| 准格尔旗| 稷山县| 岐山县| 阜城县| 南部县| 曲阳县| 峡江县| 揭阳市| 岢岚县| 郴州市| 亚东县| 镇沅| 康保县| 林周县| 松潘县| 浪卡子县| 汶川县| 通化县| 深泽县| 亚东县| 平原县| 墨江| 嘉鱼县| 疏附县| 霍山县| 临高县| 石林| 天峨县| 吉安县| 明光市| 大田县| 镶黄旗|