基础之菜单项的使用

来源:互联网 发布:剑网3捏脸数据详细 编辑:程序博客网 时间:2024/05/21 10:52
可以利用Action Bar部件提供的全部功能,将你的选项菜单项放在Action Bar的右上角,对用户来说使用更方便,控制该行为的主菜单项属性是android:showAsAction。
  这个属性可接受的值有:
  1、always:这个值会使菜单项一直显示在Action Bar上。
  2、ifRoom:如果有足够的空间,这个值会使菜单项显示在Action Bar上。
  3、never:这个值使菜单项永远都不出现在Action Bar上。

  4、withText:这个值使菜单项和它的图标,菜单文本一起显示。

<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=".MainActivity">    <item        android:id="@+id/action_settings"        android:orderInCategory="100"        android:title="@string/action_settings"        app:showAsAction="never" />    <item        android:id="@+id/action_remove"        android:title="Remove"        app:showAsAction="ifRoom" />    <item        android:id="@+id/action_add"        android:title="Add"        app:showAsAction="always" />    <item        android:id="@+id/action_nothing"        android:title="nothing"        app:showAsAction="withText" /></menu>

使用的是android.support.v7.app.ActionBarActivity,所以在xml文件里,应该把android:showAsAction换成app:showAsAction。

public class MainActivity extends ActionBarActivity {    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);    }    @Override    public boolean onCreateOptionsMenu(Menu menu) {        // Inflate the menu; this adds items to the action bar if it is present.        getMenuInflater().inflate(R.menu.menu_main, menu);        return true;//表示允许创建的菜单显示出来,return false则无法显示    }    @Override    public boolean onOptionsItemSelected(MenuItem item) {        switch (item.getItemId()) {            case R.id.action_add:                Toast.makeText(this, "add click", Toast.LENGTH_SHORT).show();                break;            case R.id.action_nothing:                Toast.makeText(this, "nothing click", Toast.LENGTH_SHORT).show();                break;            case R.id.action_remove:                Toast.makeText(this, "remove click", Toast.LENGTH_SHORT).show();                break;            case R.id.action_settings:                Toast.makeText(this, "settings click", Toast.LENGTH_SHORT).show();                break;        }        return true;    }}
忘写case后的break;作死

0 0
原创粉丝点击