Android解決style檔案不能使用自定義屬性

2021-08-29 22:41:42 字數 1113 閱讀 6904

在自定義view的時候,通常會自定義一些屬性,為了便於統一使用,在style檔案中把自定義屬性賦值。但是我卻在自定義view中,取不到style中設定的值,如果在xml中設定屬性值卻能正常獲取,這是為什麼呢?

在res/attrs中自定義屬性attrs.xml:

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

在res/color中新建text_tab_button_selector.xml:

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

在res/values/styles.xml定義:

在自定義view 中獲取屬性值:

typedarray typedarray = getcontext().obtainstyledattributes(attrs,

r.styleable.tabbutton);

mdrawable = typedarray.getdrawable(r.styleable.tabbutton_tab_drawable);

contenttext = typedarray.getstring(r.styleable.tabbutton_tab_text);

color = typedarray.getcolorstatelist(r.styleable.tabbutton_tab_text_color); // text多狀態要用colorstatelist

size = typedarray.getdimensionpixelsize(r.styleable.tabbutton_tab_text_size, 30);

typedarray.recycle();

我一開始的時候獲取不到style中的自定義屬性值,是因為我獲取typedarray的方法有問題:

typedarray typedarray = getcontext().getresources().obtainattributes(attrs,

r.styleable.tabbutton);

Android風格設計(style)

android的風格設計 style 是乙個很重要的功能,因為它可以讓應用程式裡的控制項 widget 個性化。風格設計的使用如下 android的style功能,主要的物件是widget,風格是為了套用到widget上 另外android提供布景 theme 功能,可以做更大範圍的套用。下面是乙個...

Android風格設計(style)

android的風格設計 style 是乙個很重要的功能,因為它可以讓應用程式裡的控制項 widget 個性化。風格設計的使用如下 android的style功能,主要的物件是widget,風格是為了套用到widget上 另外android提供布景 theme 功能,可以做更大範圍的套用。下面是乙個...

android開發style詳解

樣式資源 樣式資源定義了使用者介面 ui 的格式和外觀。樣式能被應用到單獨的view 通過置入layout 檔案 或者整個activity及應用程式 通過置入manifest檔案 關於建立及應用樣式的更多資訊,請參閱應用樣式和主題。注意 樣式是簡單型別資源,是用名稱 name 屬性 而非xml檔名 ...