我在我的 Android 项目中使用常规的 ActionBar。在 onCreate 中:
protected void onCreate(Bundle savedInstance) {
super.onCreate(savedInstance);
setContentView(R.layout.activity_clientlogin);
getActionBar().show();
getActionBar().setBackgroundDrawable(new ColorDrawable(Color.parseColor("#FF4444")));
....
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu items for use in the action bar
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.menu_clientlogin, menu);
return super.onCreateOptionsMenu(menu);
}
菜单客户端登录:
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/action_offline_mode"
android:name="@string/offline_mode"
android:showAsAction="always"/>
</menu>
在我添加Navigation Drawer之前,一切都运行良好,我使用了示例项目中的代码。ActionBar 颜色仍为红色,但所有项目均不可见(未显示文本)。如果我单击 ActionBar 的右上角,我会看到我选择了一个项目并且 onOptionsItemSelected 被正确触发。
我在项目的所有其他活动中都有同样的问题。另一个例子(ActionBar 颜色以编程方式更改,drawericon 也显示):
我的应用程序使用这个主题:
<resources>
<!--
Base application theme, dependent on API level. This theme is replaced
by AppBaseTheme from res/values-vXX/styles.xml on newer devices.
-->
<style name="AppBaseTheme" parent="android:Theme.Holo.Light.DarkActionBar">
<!--
Theme customizations available in newer API levels can go in
res/values-vXX/styles.xml, while customizations related to
backward-compatibility can go here.
-->
</style>
<!-- Application theme. -->
<style name="AppTheme" parent="AppBaseTheme">
<!-- All customizations that are NOT specific to a particular API-level can go here. -->
</style>
</resources>