如何將同一類別物件設定為一個共通STYLE (以EDITTEXT為例)

  • 222
  • 0

摘要:如何將同一類別物件設定為一個共通STYLE (以EDITTEXT為例)

參考網站文章:

http://stackoverflow.com/questions/10903647/set-a-consistent-style-to-all-edittext-for-e-g

先設定一個EditText style 如下

<style name="App_EditTextStyle">
    <item name="android:background">@drawable/filled_roundededges_box_dark</item>
    <item name="android:textColor">#808080</item>
    <item name="android:layout_height">45dip</item>
</style>

如此一個新的EditText物件可使用以下方法套用style:

<EditText ...
    style="@style/App_EditTextStyle
    ...>

但是以上作法需要在每個EditText物件都宣告一次,略嫌麻煩

在系統預設的App_Theme 語法中 增加<item name="android:EditTextSyle">@style/App_EditTextStyle</item> 

如此即可在每個EditText物件自動套用 style

<style name="App_Theme" parent="@android:style/Theme.Holo">
   ... 
   <item name="android:EditTextSyle">@style/App_EditTextStyle</item>
   ...
<style>

記得在 AndroidManifest.xml 預設套用的主題要跟上面相對應

<application
    ....
    android:theme="@style/App_Theme">