在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同理,不再赘述。