自定義shape的view,不用配置xml

2021-06-19 20:47:44 字數 1076 閱讀 8863

使用shape作為view的背景很靈活,一般可以通過建立xml來實現,但是如果樣式過多,那麼相應的xml檔案也多,不好維護,這裡介紹使用**在建立shape背景,個人感覺很方便

以textview為例

public class shapetextview extends textview

public gradientdrawable getgradientdrawable()

/*** 設定背景色

* * @param color

*/@suppresswarnings("deprecation")

public void setcolor(int color)

/*** 設定圓角弧度

* * @param radius

*/@suppresswarnings("deprecation")

public void setcornerradius(float radius)

/*** 設定邊框寬度和顏色

* * @param width

* @param color

*/@suppresswarnings("deprecation")

public void setstroke(int width, int color)

/*** 設定背景樣式

* * @param bgcolor

*            背景顏色

* @param radius

*            圓角弧度

* @param strokewidth

*            邊框寬度

* @param strokecolor

*            邊框顏色

*/@suppresswarnings("deprecation")

public void setshape(int bgcolor, float radius, int strokewidth,

int strokecolor)

}主要通過構建gradientdrawable,並設定背景顏色、圓角弧度、邊框寬度,邊框顏色等屬性

**很簡單,樣式都能看懂

Android自定義View 自定義元件

自繪控制項也分兩種,自定義元件和自定義容器,自定義元件是繼承view類,自定義容器時繼承viewgrounp 今天主要分析下自定義元件 還是舉個例子來的實際些,假如我們要畫乙個最簡單的textview,首先想到的就是canvas.drawtext 方法,怎麼畫了?還是得一步一步來 1 寫乙個myte...

自定義view之自定義屬性

1.首先在res的values檔案下新建乙個名為attrs.xml檔案 在該xml檔案中編寫我們需要的屬性 declare styleable後面的name必須要與接下來要自定義的view名一致。attr 後面的name表示需要自定義的屬性,format表示這些屬性的型別 2.新建乙個類繼承text...

自定義view 二

自定義view的最重要的乙個部分是自定義它的外觀。根據你的程式的需求,通過ondraw方法實現繪製。在ondraw中,會傳遞給你乙個canvas。canvas封裝了繪製圖形的方法。還需要自定義乙個 paint去定義顏色樣式的填充 簡單來說 canvas定義你在螢幕上畫的圖形,而paint定義顏色,樣...