我一直在网上寻找一段时间,而且关于如何做到这一点的教程很少。甚至谷歌文档都有关于如何把这些东西放在那里的非常模糊的信息!我确信它很微妙,但我无法理解术语,因为我对Android仍然相当新。我希望能够将动作溢出图标放到ActionBar
的右侧。在创建项目时使用文档和示例代码放置视图控件是非常容易理解的,但是没有一个用于Action Overflow。提前谢谢!
编辑:我应该详细说明。我希望菜单默认处于动作溢出之下。我找到了一个大开眼界的回答类似的问题,但它只告诉你如何将菜单放在顶部。我如何强迫他们进入名单?是否有可能强制这样做?谢谢!
答案 0 :(得分:4)
如果你使用API-11,那就不是问题了。如果更低,我邀请您加入此主题: The best way to create drop down menu in android 2.x like in ICS
如果是API-11及更高版本,您必须:
像这样创建菜单xml:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:id="@+id/item_refresh"
android:icon="@drawable/ic_menu_refresh"
android:title="Refresh"
android:showAsAction="ifRoom|withText" />
<item
android:id="@+id/item_save"
android:icon="@drawable/ic_menu_save"
android:title="Save"
android:showAsAction="ifRoom|withText" />
</menu>
并创建如下代码:
public class MainActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// gets the activity's default ActionBar
ActionBar actionBar = getActionBar();
actionBar.show();
actionBar.setDisplayHomeAsUpEnabled(true);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.main, menu); //inflate our menu
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item){
switch(item.getItemId()) {
case R.id.item_refresh:
//click on refresh item
break;
case R.id.item_save:
//click on save item
break;
}
return true;
}
祝你好运!