我想爲API21及更高版本的所有設備使用Theme.Material,並保持與API21之前設備的兼容性。我遵循解釋here的指導原則並創建了2個Style.xml。 這一個API21及以上 將Theme.Material用於API21及更高版本,並在具有工具欄的活動中維護兼容性
<style name="AppTheme" parent="android:Theme.Material">
<item name="android:windowTranslucentStatus">true</item>
<item name="colorPrimary">@color/USMABlue</item>
<item name="colorPrimaryDark">@color/USMABlueDark</item>
<!-- Customize your theme here. -->
</style>
而這一次預API21設備
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="colorPrimary">@color/USMABlue</item>
<item name="colorPrimaryDark">@color/USMABlueDark</item>
<item name="colorAccent">@color/USMAAccent</item>
<!-- Customize your theme here. -->
</style>
我的問題是我的MainActivity應該擴展什麼課。 給具有預API21設備而且我的工作延伸MainActivity但AppCompatActivity用設備與API21及以上我明白我應該延伸活動(參見What causes android exception "You need to use a Theme.AppCompat theme (or descendant) with this activity.")...
如果我延長活動如何設置我的工具欄?我在AppCompatActivity中使用setSupportActionBar。
我明白,主題android:Theme.Material(http://developer.android.com/ training/material/theme.html)目前尚未廣泛使用。爲了兼容性目的,最好使用AppCompat,AppCompat提供Theme.Material的所有功能。 – arover
是的。 AppCompat包裝api <21的材質主題,並將材質主題用於api21 +。 –