Java Android操作按钮未显示在操作栏中
我想在操作栏上显示一个图标。但它总是出现在溢出列表中。你能帮我想出一个解决办法吗。这是我的密码 CreateScheduleActivity.javaJava Android操作按钮未显示在操作栏中,java,android,android-actionbar,Java,Android,Android Actionbar,我想在操作栏上显示一个图标。但它总是出现在溢出列表中。你能帮我想出一个解决办法吗。这是我的密码 CreateScheduleActivity.java package com.mpeers.ui; import android.support.v7.app.ActionBarActivity; import android.support.v7.app.ActionBar; import android.support.v4.app.Fragment; import android.os.Bu
package com.mpeers.ui;
import android.support.v7.app.ActionBarActivity;
import android.support.v7.app.ActionBar;
import android.support.v4.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.os.Build;
public class CreateScheduleActivity extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.create_schedule);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.action_bar, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
}
菜单文件夹中的action_bar.xml
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<!-- Search, should appear as action button -->
<item android:id="@+id/action_search"
android:icon="@drawable/plusicon"
android:title="CS"
android:showAsAction="ifRoom" />
<!-- Settings, should always be in the overflow -->
<item android:id="@+id/action_settings"
android:title="@string/action_settings"
android:showAsAction="never" />
</menu>
定义xmlns:app=”http://schemas.android.com/apk/res-auto“
在父标记中
然后使用app:showAsAction=“ifRoom”
下面是示例代码
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
tools:context="com.taazi.android.MainActivity" >
<item
android:id="@+id/action_search"
android:icon="@drawable/ic_action_search"
android:title="@string/action_search"
app:actionViewClass="android.support.v7.widget.SearchView"
app:showAsAction="ifRoom"/>
<item
android:id="@+id/action_right_drawer"
android:icon="@drawable/ic_action_play_over_video"
android:title="@string/action_right_drawer"
app:showAsAction="ifRoom"/>
</menu>
如果使用appcompat支持库,则需要定义 xmlns:app=”http://schemas.android.com/apk/res-auto" 在父标记中,然后使用app:showAsAction控制操作项的可见性
如果您没有使用appcompat支持库,您可以使用android:showAsAction标记来控制操作项的可见性。尝试此
app:showAsAction=“always”
我将其更改为always但不更改您使用的主题是什么?appcompat?尝试将整个action_bar.xml代码替换为上述代码。+1表示如果您不使用支持库,建议将app:showAsAction替换为android:showAsAction。这就是我的工作。