在原生控制項上進行擴充套件,增加新的功能
一般是在ondraw() 方法中對原生控制項進行擴充套件
下面以乙個textview 為例,來看看如何使用擴充套件原生控制項的方法建立新的控制項
/*
* 對現有控制項進行擴充套件
* */
public class m_textview extends textview
public m_textview(context context, attributeset attrs)
public m_textview(context context)
@override
protected void ondraw(canvas canvas)
}
在布局檔案中使用:
例項二:給文字增加閃動效果:
public class m_textview2 extends textview
public m_textview2(context context, attributeset attrs, int defstyle)
public m_textview2(context context, attributeset attrs)
private lineargradient mlineargradient;
private matrix mgradientmatrix;
private paint mpaint;
private int mviewwidth = 0;
private int mtranslate = 0;
@override
protected void onsizechanged(int w, int h, int oldw, int oldh) ,
null,
shader.tilemode.clamp);
mpaint.setshader(mlineargradient);
mgradientmatrix = new matrix();
}} }
@override
protected void ondraw(canvas canvas)
mgradientmatrix.settranslate(mtranslate, 0);
mlineargradient.setlocalmatrix(mgradientmatrix);
postinvalidatedelayed(50);
} }}
xml中使用:
Android自定義控制項(三)繼承控制項
繼承控制項是我們android開發中最重要也是最常使用的控制項,它不同於自繪控制項和組合控制項,它不需要我們自己去重新去實現乙個控制項。物件導向的乙個重要特性就是繼承,相信各位同學對繼承的了解都已經非常深入了,繼承控制項理所當然會擁有父類的所有特性。我們去實現乙個繼承控制項的原因,往往是原生控制項已...
Android 自定義控制項
幹android也有一段的時間了,自定義這塊的東西覺得還是很有比較複習一下基礎的東西。自定義控制項和自定義元件基本上的使用都是在專案中基本的android控制項滿足不了需求的時候使用的。所以,如果要高出特別炫的特效,或者比較特殊的控制項排列方式,例如瀑布流,那麼就要好好學學自定義咯。首先,先簡單的介...
android自定義控制項
android自定義控制項 二 入門,繼承view 說說android 兩種為自定義元件新增屬性的使用方法和區別 自定義控制項的屬性 自定義控制項 今天花了3,4個小時看了自定義控制項,看 懂了,還沒有實踐,因為時間不夠,日後實踐。總結下 自定義控制項有3種方式 繼承已有控制項 繼承乙個容器控制項,...