Android操作栏颜色和菜单

时间:2016-10-31 17:05:00

标签: android xml android-layout android-actionbar

我的应用操作栏有一些问题。我想更改操作栏的背景颜色,所以我使用了这段代码。问题是我总是得到一个NullPointerException(bar总是为null)。我该怎么办?

    ActionBar bar = getActionBar();
    bar.setBackgroundDrawable(new ColorDrawable("COLOR"));

我还想在应用程序的右上角添加一个下拉菜单(在操作栏中)。所以我使用了这个xml代码和这个事件:

<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:yourapp="http://schemas.android.com/apk/res-auto" >

    <item android:id="@+id/spinner"
    yourapp:showAsAction="ifRoom"
    yourapp:actionViewClass="android.widget.Spinner" />
</menu>

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.menu_layout, menu);
    MenuItem item = menu.findItem(R.id.spinner);
    Spinner spinner = (Spinner) MenuItemCompat.getActionView(item);
    spinner.setAdapter(adapter); // set the adapter to provide layout of rows and content
    s.setOnItemSelectedListener(onItemSelectedListener); // set the listener, to perform actions based on item selection

但是我总是在yourapp中遇到一些错误:actionViewClass(我总是得到一个错误的前缀错误,无论我用作myapp)和R.menu.menu_layout(R.menu不存在)。我做错了什么?

1 个答案:

答案 0 :(得分:0)

您使用的是什么类型的活动?你有ActionBar还是工具栏?

如果您使用的是SupportActionBar,可以尝试:

getSupportActionBar();

对于菜单问题,您是否在res/menu文件夹中有菜单布局?