0

我只是在我简单的 1-Activty-Project 中寻找解决方案如何在 android 中获取操作栏?

如果我使用以下内容,一切正常但没有布局:

actionBar = getActionBar();
[..] register viewpager, add tabs dynamically etc [...]

我现在可以在java中添加布局参数..

但是,我想通过函数覆盖 onCreateOptionsMenu() 为我的操作栏定义一个这样的 .xml:

@override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.main_activity, menu);
    return super.onCreateOptionsMenu(menu);
}

main_activity.xml:

 <?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:id="@+id/menu_main_activity"
          android:icon="@drawable/logo"
          android:title="@string/app_name"
          android:showAsAction="ifRoom|withText" />
</menu>

如果我将这结合起来,我的操作栏会加倍......但是如何以正确的方式做到这一点?我究竟做错了什么..?

4

1 回答 1

1

style您需要通过为它创建一个values/styles类似的方式来改变它的外观

<style name="MyActionBar" parent="@android:style/Widget.Holo.ActionBar">
    <item name="android:background">@drawable/bar</item>
    <item name="android:textColor">@drawable/white</item>
</style>

然后创建自定义应用程序主题以使用操作栏

 <style name="CustomActivityTheme" parent="@android:style/Theme.Holo.Light">  // this is telling the app to use your custom themes for the actionbar
    <item name="android:actionBarStyle">@style/MyActionBar</item>
</style>

或者你可以使用。

ActionBar actionBar = getActionBar();
actionBar.setDisplayShowCustomEnabled(true);
actionBar.setCustomView(v);

充气后layout要使用。无论哪种方式,您仍然可以覆盖onCreateOptionsMenu()以获取菜单的功能

于 2013-05-01T23:02:31.440 回答