自定義view之自定義屬性

2021-09-17 21:04:36 字數 1361 閱讀 4519

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...