当我发布我的笔记应用程序Android 4.0 - 4.3时,我使用自定义操作栏颜色和自定义操作栏图标(而不是使用标准的明暗和黑暗操作栏).我想在Android 4.4上做到这一点,状态栏也将采用我在Action Bar中使用的自定义颜色(即#FFD060).有没有办法轻松更改我当前的styles.xml以允许4.4利用这个?
我的values-v19文件夹下的styles.xml如下:
<resources>
<style name="AppBaseTheme" parent="@android:style/Theme.Holo.Light">
<item name="android:actionBarStyle">@style/MyActionBarTheme</item>
</style>
<style name="MyActionBarTheme" parent="@android:style/Widget.Holo.Light.ActionBar">
<item name="android:background">#ffd060</item>
<item name="android:textColor">#fff</item>
<item name="android:icon">@drawable/action</item>
<item name="android:titleTextStyle">@style/MyTextAppearance</item>
</style>
<style name="MyTextAppearance" parent="android:TextAppearance.Holo.Widget.ActionBar.Title">
<item name="android:icon">@drawable/action</item>
<item name="android:textColor">#ffffff</item>
</style>
</resources>
Run Code Online (Sandbox Code Playgroud)
我试图实现:
<item name="android:windowTranslucentStatus">true</item>
Run Code Online (Sandbox Code Playgroud)
它会导致我的应用程序的内容向上移动,从状态栏区域开始并被操作栏覆盖.
我今天向Play商店推出了更新,为Android L添加了材料设计布局以及其他一些不同的错误修复,但是,未使用Android L的用户无法更新.尝试更新应用程序时,会显示"应用程序需要更新的SDK版本".
我用"android-L"编译了应用程序,我的最低SDK要求是14,我的目标SDK是"L".我创建了一个新的值文件夹(values-v21),它使用与以前版本的Android相同的主题名称作为其他值文件夹.但是,v21文件夹不使用Theme.Holo.Light,而是使用:
<style name="AppBaseTheme" parent="@android:style/Theme.Material.Light">
Run Code Online (Sandbox Code Playgroud)
有什么方法可以为Android L用户实现材料布局,同时保持与Android 4.0 - 4.4的兼容性?
编辑:我使用的是Android API 20,L Preview支持库.恢复到19会破坏与材质布局的兼容性.