所有的布局類和檢視類都是繼承view類。
當android系統提供的一些view子類不能滿足需求的時候,就需要自定義個view子類。
方法1: 直接繼承view類
方法2: 繼承view類的乙個子類,例如:如果需要乙個帶有影象的textview類,自定義類就可以直接去繼承textview類。
myview類
package com.view;
import android.content.context;
import android.graphics.canvas;
import android.graphics.color;
import android.graphics.paint;
import android.util.attributeset;
import android.view.view;
public class myview extends view
}@override
protected void ondraw(canvas canvas)
public string getmtext()
public void setmtext(string mtext)
}
view類有三個構造方法,這裡只實現了其中的乙個帶2個引數的構造,因為當在程式中,使用findviewbyid(id)獲得元件例項的時候,呼叫的是帶有2個引數的構造方法。
使用第二個引數的一些方法,可以在自定義類設定自己的屬性,去xml檔案裡面定義的屬性去找。
namespace為命名空間不多解釋。
使用命名空間和不使用命名空間的區別:
mtext = attrs.getattributevalue(namespace, "text");
這裡使用了命名空間,則在給mtext賦值的時候,相對應於xml中的 android:text="呵呵呵呵"
mtext = attrs.getattributevalue(null, "texttext");
如果未使用命名空間,相對應xml中的 texttext="呵呵呵呵"
補上main.xml檔案
<?xml version="1.0" encoding="utf-8"?>
Vue自定義元件 簡單實現乙個自定義元件
在用vue構建專案的過程中,我們有時會用到別人開發的元件如vue router 使用他人元件的正常步驟如下 1 命令列進行安裝,執行install 2 在vue專案中的入口檔案main.js中,進行匯入 3 然後用vue.use plugin 引入該元件。我們也可以創造屬於自己的元件,具體步驟如下 ...
Vue自定義元件 簡單實現乙個自定義元件
在用vue構建專案的過程中,我們有時會用到別人開發的元件如vue router 使用他人元件的正常步驟如下 1 命令列進行安裝,執行install 2 在vue專案中的入口檔案main.js中,進行匯入 3 然後用vue.use plugin 引入該元件。我們也可以創造屬於自己的元件,具體步驟如下 ...
自定義元件
myedittext 清除輸入的資料 setcompunddrawable 設定edittext ontouchevent ondraw 作用 繪製view顯示的內容,由系統自動呼叫 常用類 paint,canvas invalidate,postinvalidate 貪吃蛇原理 改變集合中的資料,...