1.首先在res的values檔案下新建乙個名為attrs.xml檔案
在該xml檔案中編寫我們需要的屬性
<?xml version="1.0" encoding="utf-8"?>
declare-styleable後面的name必須要與接下來要自定義的view名一致。
attr 後面的name表示需要自定義的屬性,format表示這些屬性的型別
2.新建乙個類繼承textview
public class mytextview extends textview
public mytextview(context context, attributeset attrs)
@override
protected void onmeasure(int widthmeasurespec, int heightmeasurespec)
@override
protected void ondraw(canvas canvas)
if (isclick)
}@override
public boolean ontouchevent(motionevent event) else
invalidate();
return super.ontouchevent(event);
}}
其中以下**用於獲取自定義屬性的值
typedarray ta = context.obtainstyledattributes(attrs,
r.styleable.mytextview);
radius = ta.getinteger(r.styleable.mytextview_radius,10);
color = ta.getcolor(r.styleable.mytextview_color,color.parsecolor("#00000000"));
framecolor = ta.getcolor(r.styleable.mytextview_framecolor,color.parsecolor("#008577"));
isover = ta.getboolean(r.styleable.mytextview_isover,false);
framewidth = ta.getinteger(r.styleable.mytextview_framewidth,0);
ta.recycle();
3.在activity中使用
<?xml version="1.0" encoding="utf-8"?>
Android自定義控制項之自定義View 二
效果如下圖 1 自定義ringview繼承view新增其構造方法並建立畫筆 public class ringview extends view protected boolean isrunning false public ringview context context public ring...
Android自定義View 自定義元件
自繪控制項也分兩種,自定義元件和自定義容器,自定義元件是繼承view類,自定義容器時繼承viewgrounp 今天主要分析下自定義元件 還是舉個例子來的實際些,假如我們要畫乙個最簡單的textview,首先想到的就是canvas.drawtext 方法,怎麼畫了?還是得一步一步來 1 寫乙個myte...
(原創)自定義控制項之自定義屬性
自定義控制項過程中,我們往往需要給自己的控制項來自定義一些屬性 現在就來大概介紹下流程 第一步values下新建attrs.xml檔案 檔案裡標籤如下 如下所示 第二步來到布局檔案的根標籤下 使用的格式如下 如下所示 第三步 來到自定義控制項的類的構造方法中 該方法有乙個attrs引數 執行方法 g...