亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Android怎么自定義view組件

發布時間:2020-06-03 11:46:12 來源:億速云 閱讀:209 作者:Leah 欄目:移動開發

Android怎么自定義view組件?這篇文章運用了實例代碼展示,代碼非常詳細,可供感興趣的小伙伴們參考借鑒,希望對大家有所幫助。

Android中的組件類似于swxing中的Panel,它只是一片空白區域,對于UI組件來說,只是在其中繪制外觀。

開發者可以繼承view,自定義自己的組件,然后重寫其中的方法:

構造器:當java創建或者xml創建組件時調用

      

Android怎么自定義view組件

Android怎么自定義view組件

下面通過一個例子,該例子設計一個組件,在手觸摸的地方繪制一個圓形:


新建java類,添加如下代碼:

package com.example.tupianliulanqi;

import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.view.MotionEvent;
import android.view.View;

public class MyView extends View {
	private Paint p = new Paint();
	private float myX = 0;
	private float myY = 0;
	public MyView(Context context) {
		super(context);
		// TODO Auto-generated constructor stub
	}
	
	//用于重新繪制組件
	public void onDraw(Canvas canvas) {
		super.onDraw(canvas);
		//設置畫筆屬性
		p.setColor(Color.RED);
		canvas.drawCircle(myX, myY, 15, p);
	}
	
	//觸摸事件發生時調用
	public boolean onTouchEvent(MotionEvent event) {
		myX = event.getX();
		myY = event.getY();
		//告訴需要重新繪制組件
		this.invalidate();
		return true;
	}
}


在Activity中添加:

public class MainActivity extends Activity {

	MyView myview;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		LinearLayout layout = (LinearLayout)this.findViewById(R.id.main);

		myview = new MyView(this);;
		layout.addView(myview);
	}

以上就是Android自定義view組件的詳細內容,代碼示例簡單明了,如果在日常工作遇到此問題。通過這篇文章,希望你能有所收獲,更多詳情敬請關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

古丈县| 连州市| 广东省| 九龙坡区| 亚东县| 尼勒克县| 庄浪县| 浠水县| 和林格尔县| 仙游县| 惠来县| 通州区| 周宁县| 泸水县| 郎溪县| 会同县| 仁布县| 曲麻莱县| 阜宁县| 定陶县| 西吉县| 同心县| 新沂市| 宜兴市| 珲春市| 紫云| 灵寿县| 西城区| 尉犁县| 疏附县| 云阳县| 灵宝市| 永嘉县| 正定县| 库尔勒市| 桑日县| 三亚市| 邓州市| 阳泉市| 肇庆市| 绥中县|