Android appcompat 主题始终显示黑色操作栏
Android appcompat theme always shows black color actionbar
我使用这个非常常见的基于 Web 的工具生成了操作栏样式
http://jgilfelt.github.io/android-actionbarstylegenerator/
我 'android-support-v7-appcompat' 作为我工作区中的一个单独项目。我将通过从该工具下载 zip 文件生成的 res 文件夹的所有内容转储到该项目中。
我为操作栏和上下文菜单(弹出)使用了深蓝色。
但是,我无法从此主题获得自定义外观。大多数元素/组件显示默认外观。
操作栏是黑色(而不是蓝色),弹出菜单是灰色(而不是浅蓝色)
我的 style.xml 来自值文件夹
<style name="Theme.dinemobileandro" parent="@style/Theme.AppCompat.Light.DarkActionBar">
<item name="actionBarItemBackground">@drawable/selectable_background_dinemobileandro</item>
<item name="popupMenuStyle">@style/PopupMenu.dinemobileandro</item>
<item name="dropDownListViewStyle">@style/DropDownListView.dinemobileandro</item>
<item name="actionBarTabStyle">@style/ActionBarTabStyle.dinemobileandro</item>
<item name="actionDropDownStyle">@style/DropDownNav.dinemobileandro</item>
<item name="actionBarStyle">@style/ActionBar.Solid.dinemobileandro</item>
<item name="actionModeBackground">@drawable/cab_background_top_dinemobileandro</item>
<item name="actionModeSplitBackground">@drawable/cab_background_bottom_dinemobileandro</item>
<item name="actionModeCloseButtonStyle">@style/ActionButton.CloseMode.dinemobileandro</item>
<!-- Light.DarkActionBar specific -->
<item name="actionBarWidgetTheme">@style/Theme.dinemobileandro.Widget</item>
</style>
我也在清单文件中进行了必要的更改
<application
android:name="com.railyatri.in.mobile.MainApplication"
android:allowBackup="true"
android:allowClearUserData="true"
android:enabled="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/Theme.dinemobileandro" >
我已严格按照此博客中提到的步骤进行操作,并且它以前对我适用于 sherlock 主题。
http://java.dzone.com/articles/creating-custom-android-styles
然而,这一次,我迁移到 appcompat,它停止工作了。我已经通过 SO 和 Google 进行了很多搜索,并尝试了一些建议但都是徒劳的。
请帮忙。提前致谢。
在 Android 清单上:
<activity
android:name=".MainActivity"
android:label="@string/app_name"
android:theme="@style/Theme.dinemobileandro" >
关于样式 xml:
<style name="Theme.dinemobileandro" parent="AppTheme">
<item name="android:actionBarStyle">@style/MyActionBar</item>
<item name="actionBarStyle">@style/MyActionBar</item>
</style>
<style name="MyActionBar"
parent="@style/Widget.AppCompat.Light.ActionBar.Solid.Inverse">
<item name="android:background">@drawable/blue</item>
<item name="background">@drawable/blue</item>
在可绘制对象上 xml:
<resources xmlns:tools="http://schemas.android.com/tools" xmlns:android="http://schemas.android.com/apk/res/android">
<drawable name="blue">#6189C5</drawable>
</resources>
activity 上的工具栏是蓝色的 (#6189C5) 使用 API 21
编译
完成 this 回答中的信息(如指定的 Apurva)
您是否已经尝试更改 Java 文件?
像这样:
getSupportActionBar().setDisplayShowHomeEnabled(true);
getSupportActionBar().setIcon(R.drawable.ic_launcher);
getSupportActionBar().setTitle(Html.fromHtml("<font color=\"grey\">" + getString(R.string.app_name) + "</font>"));
getSupportActionBar().setBackgroundDrawable(..);
在 AppCompat v21 中,不推荐使用 actionbarstylegenerator。
您可以使用类似这样的东西来自定义 ActionBar(或者更好的 Toolbar)。
<style name="Theme.MyTheme" parent="Theme.AppCompat.Light">
<!-- Set AppCompat's color theming attrs -->
<item name="colorPrimary">@color/my_color</item>
<item name="colorPrimaryDark">@color/my_darkercolor</item>
</style>
您可以在官方博客中找到更多信息:
http://android-developers.blogspot.it/2014/10/appcompat-v21-material-design-for-pre.html
<style name="Theme.MyTheme" parent="Theme.AppCompat.Light">
<item name="colorPrimary">@color/my_actionbar_color</item>
<item name="colorPrimaryDark">@color/my_actionbar_dark_color</item>
<!-- if you need customization -->
<item name="actionBarStyle">@style/MyActionBarStyle</item>
</style>
记得使用
parent="Theme.AppCompat.Light"
不是
parent="@style/Theme.AppCompat.Light"
我使用这个非常常见的基于 Web 的工具生成了操作栏样式 http://jgilfelt.github.io/android-actionbarstylegenerator/
我 'android-support-v7-appcompat' 作为我工作区中的一个单独项目。我将通过从该工具下载 zip 文件生成的 res 文件夹的所有内容转储到该项目中。
我为操作栏和上下文菜单(弹出)使用了深蓝色。 但是,我无法从此主题获得自定义外观。大多数元素/组件显示默认外观。 操作栏是黑色(而不是蓝色),弹出菜单是灰色(而不是浅蓝色)
我的 style.xml 来自值文件夹
<style name="Theme.dinemobileandro" parent="@style/Theme.AppCompat.Light.DarkActionBar">
<item name="actionBarItemBackground">@drawable/selectable_background_dinemobileandro</item>
<item name="popupMenuStyle">@style/PopupMenu.dinemobileandro</item>
<item name="dropDownListViewStyle">@style/DropDownListView.dinemobileandro</item>
<item name="actionBarTabStyle">@style/ActionBarTabStyle.dinemobileandro</item>
<item name="actionDropDownStyle">@style/DropDownNav.dinemobileandro</item>
<item name="actionBarStyle">@style/ActionBar.Solid.dinemobileandro</item>
<item name="actionModeBackground">@drawable/cab_background_top_dinemobileandro</item>
<item name="actionModeSplitBackground">@drawable/cab_background_bottom_dinemobileandro</item>
<item name="actionModeCloseButtonStyle">@style/ActionButton.CloseMode.dinemobileandro</item>
<!-- Light.DarkActionBar specific -->
<item name="actionBarWidgetTheme">@style/Theme.dinemobileandro.Widget</item>
</style>
我也在清单文件中进行了必要的更改
<application
android:name="com.railyatri.in.mobile.MainApplication"
android:allowBackup="true"
android:allowClearUserData="true"
android:enabled="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/Theme.dinemobileandro" >
我已严格按照此博客中提到的步骤进行操作,并且它以前对我适用于 sherlock 主题。 http://java.dzone.com/articles/creating-custom-android-styles 然而,这一次,我迁移到 appcompat,它停止工作了。我已经通过 SO 和 Google 进行了很多搜索,并尝试了一些建议但都是徒劳的。
请帮忙。提前致谢。
在 Android 清单上:
<activity
android:name=".MainActivity"
android:label="@string/app_name"
android:theme="@style/Theme.dinemobileandro" >
关于样式 xml:
<style name="Theme.dinemobileandro" parent="AppTheme">
<item name="android:actionBarStyle">@style/MyActionBar</item>
<item name="actionBarStyle">@style/MyActionBar</item>
</style>
<style name="MyActionBar"
parent="@style/Widget.AppCompat.Light.ActionBar.Solid.Inverse">
<item name="android:background">@drawable/blue</item>
<item name="background">@drawable/blue</item>
在可绘制对象上 xml:
<resources xmlns:tools="http://schemas.android.com/tools" xmlns:android="http://schemas.android.com/apk/res/android">
<drawable name="blue">#6189C5</drawable>
</resources>
activity 上的工具栏是蓝色的 (#6189C5) 使用 API 21
编译完成 this 回答中的信息(如指定的 Apurva)
您是否已经尝试更改 Java 文件? 像这样:
getSupportActionBar().setDisplayShowHomeEnabled(true);
getSupportActionBar().setIcon(R.drawable.ic_launcher);
getSupportActionBar().setTitle(Html.fromHtml("<font color=\"grey\">" + getString(R.string.app_name) + "</font>"));
getSupportActionBar().setBackgroundDrawable(..);
在 AppCompat v21 中,不推荐使用 actionbarstylegenerator。
您可以使用类似这样的东西来自定义 ActionBar(或者更好的 Toolbar)。
<style name="Theme.MyTheme" parent="Theme.AppCompat.Light">
<!-- Set AppCompat's color theming attrs -->
<item name="colorPrimary">@color/my_color</item>
<item name="colorPrimaryDark">@color/my_darkercolor</item>
</style>
您可以在官方博客中找到更多信息: http://android-developers.blogspot.it/2014/10/appcompat-v21-material-design-for-pre.html
<style name="Theme.MyTheme" parent="Theme.AppCompat.Light">
<item name="colorPrimary">@color/my_actionbar_color</item>
<item name="colorPrimaryDark">@color/my_actionbar_dark_color</item>
<!-- if you need customization -->
<item name="actionBarStyle">@style/MyActionBarStyle</item>
</style>
记得使用
parent="Theme.AppCompat.Light"
不是
parent="@style/Theme.AppCompat.Light"