1. 程式人生 > >Android中動態設定多繼承Style/Theme

Android中動態設定多繼承Style/Theme

在Android中經常會使用繼承style,舉個例子:
這裡設定了兩個style

  <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item
> <item name="actionModeBackground">@color/colorPrimary </item> <item name="actionModeCloseDrawable">@drawable/ic_done_white_24dp</item> </style>
  <style name="AppTheme.NoActionBar" >
    <item name="windowActionModeOverlay">true</item>
    <item
name="windowActionBar">false</item> <item name="windowNoTitle">true</item> </style>

NoActionBar繼承自AppTheme,如何應用NoActionBar?
xml中:

app:popupTheme="@style/AppTheme.NoActionBar"

java中:
此時通過R.Style.AppTheme.NoActionBar是獲取不到的,而是使用R.Style.AppTheme_NoActionBar,點已經被編譯成下劃線了。
所以,正確用法是setTheme(R.Style.AppTheme_NoActionBar)


Style同理,不再贅述。