基础之菜单项的使用

可以利用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;作死

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值