0

我正在开发一款Android应用程序,我想支持运行5.0+以及4.1至4.4版设备的设计。替代布局

我正在使用appcompat库来获得一些旧版本的支持。

现在我面临的只是v21中的属性,如elevation

我可以创建一个layout-v21文件夹并在那里再次添加我的活动的布局,这会导致相当多的重复。

你是否以另一种方式做到这一点?

有没有一种方法可以为此使用样式?我如何继承风格从valuesvalues-v21

回答

1

这里是我使用了一个链接,让有关覆盖风格/主题的V21棒棒糖的一些信息:http://antonioleiva.com/material-design-everywhere/

从本质上讲,你可以做值/的themes.xml

<style name="AppTheme" parent="AppTheme.Base"/> 

<style name="AppTheme.Base" parent="Theme.AppCompat"> 
    <item name="colorPrimary">@color/colorPrimary</item> 
    <item name="colorPrimaryDark">@color/colorPrimary</item> 
    <item name="android:windowNoTitle">true</item> 
    <item name="windowActionBar">false</item> 
</style> 

然后在值-V21 /的themes.xml

<style name="AppTheme" parent="AppTheme.Base"> 
    <item name="android:windowContentTransitions">true</item> 
    <item name="android:windowAllowEnterTransitionOverlap">true</item> 
    <item name="android:windowAllowReturnTransitionOverlap">true</item> 
    <item name="android:windowSharedElementEnterTransition">@android:transition/move</item> 
    <item name="android:windowSharedElementExitTransition">@android:transition/move</item> 
</style> 

要覆盖AppTheme为v21,但要保留v21之前AppTheme.Base的所有属性。

+0

我去了。谢谢 – 2014-11-06 14:02:29