如何使用 declare styleable

2022-09-17 22:42:15 字數 2649 閱讀 1550

如何使用 declare-styleable

在建立 xml 到 objectname/res/values/ 命名為 attrs.xml

編輯檔案內容為(示例)

<?xml version="1.0" encoding="utf-8"?>

android:text="@string/log_text_box_1_add_text"/>

//我記得以前不需要定義 xmlns 現在必須要定義可以直接使用android:test 的形式,現在必須要定義 xmlns 了。

在**中獲取 layout 檔案中的值(最好是在構造方法中呼叫)

typedarray a = context.obtainstyledattributes(attrs, r.styleable.test1);//typedarray是乙個陣列容器  

float textsize = a.getfloat(r.styleable.test1_test, 30);//防止在xml檔案裡沒有定義,就加上了預設值30  

將獲取到的值初始化到控制項中

這裡就不寫了 在構造方法中值已經拿到,後面的愛怎麼用就怎麼用。

declare-styleable 定義說明:

1. reference:參考某一資源id。

(1)屬性定義:

(2)屬性使用:

android:layout_width = "42dip"

android:layout_height = "42dip"

android:background = "@drawable/id"

2. color:顏色值。

(1)屬性定義:

(2)屬性使用:

android:layout_width = "42dip"

android:layout_height = "42dip"

android:textcolor = "#00ff00"

3. boolean:布林值。

(1)屬性定義:

(2)屬性使用:

android:layout_width = "42dip"

android:layout_height = "42dip"

android:focusable = "true"

4. dimension:尺寸值。

(1)屬性定義:

(2)屬性使用:

android:layout_width = "42dip"

android:layout_height = "42dip"

5. float:浮點值。

(1)屬性定義:

(2)屬性使用:

6. integer:整型值。

(1)屬性定義:

(2)屬性使用:

xmlns:android = ""  

android:drawable = "@drawable/id"  

android:pivotx = "50%"  

android:pivoty = "50%"  

android:framescount = "12"  

android:frameduration = "100" 

7. string:字串。

(1)屬性定義:

(2)屬性使用:

8. fraction:百分數。

(1)屬性定義:

(2)屬性使用:

xmlns:android = "" 

android:interpolator = "@anim/動畫id" 

android:fromdegrees = "0" 

android:todegrees = "360" 

android:pivotx = "200%" 

android:pivoty = "300%" 

android:duration = "5000" 

android:repeatmode = "restart" 

android:repeatcount = "infinite"

9. enum:列舉值。

(1)屬性定義:

(2)屬性使用:

xmlns:android = ""

android:orientation = "vertical"

android:layout_width = "fill_parent"

android:layout_height = "fill_parent"

>

10. flag:位或運算。

(1)屬性定義:

(2)屬性使用:

注意:屬性定義時可以指定多種型別值。

(1)屬性定義:

(2)屬性使用:

android:layout_width = "42dip"

android:layout_height = "42dip"

android:background = "@drawable/id|#00ff00"

定義命名空間

在自定義擴充套件的時候還可以自定義命名空間,但是我仿照 demo 的時候感覺不對。命名空間中的屬性不能通過提示(alt+/)打出來,但 demo 的可以。

命名空間定義語法如下:(由於自己沒整對此次貼的 drag_layout.xml 中的**)

如何使用 滅火器如何使用

滅火器的種類不同使用方法也不相同,下面單獨針對乾粉滅火器 泡沫滅火器和二氧化碳滅火器使用方法說明。一 乾粉滅火器的使用方法 適用範圍 適用於撲救各種易燃 可燃液體和易燃 可燃氣體火災,以及電器裝置火災。1 右手拖著壓把,左手拖著滅火器底部,輕輕取下滅火器。2 右手提著滅火器到現場。3 除掉鉛封。4 ...

如何使用 如何正確使用定速巡航

現在隨著造車技術的不斷創新和改進,越來越多的高科技功能都應用到了汽車上,不僅提供了實用性,也讓我們享受到了科技的快感。今天我們就聊一聊一項可以實現車輛自動駕駛的功能 定速巡航。定速巡航 cruise control system 簡稱ccs,簡單的理解就是給車子設定乙個速度值,駕駛員只需要掌握方向,...

如何使用CFileDialog

cfiledialog的語法 cfiledialog bool bopenfiledialog,lpctstr lpszdefext null,lpctstr lpszfilename null,dword dwflags ofn hidereadonly ofn overwriteprompt,l...