Android 添加ActionBar Buttons

手机开发 2016-12-22

Android 添加ActionBar Buttons

一、在res/menu文件夹下创建Xml文件 跟标签为menu,设置item

Android 添加ActionBar ButtonsAndroid 添加ActionBar Buttons

<?xml version="1.0" encoding="utf-8"?>
<myapp:menu xmlns:android="http://schemas.android.com/apk/res/android"
            xmlns:myapp="http://schemas.android.com/apk/res-auto"
    >
    <!--id:按钮Id-->
    <!--icon:按钮图标-->
    <!--title:按钮文字-->
    <!--showAsAction:按钮显示状态-->

    <item
        android:id="@+id/buttonIcon"
        android:icon="@drawable/ic_near_me_white"
        android:title="导航"
        myapp:showAsAction="always"
        />

</myapp:menu>
View Code

二、在Activity中引用该menu.xml

Android 添加ActionBar ButtonsAndroid 添加ActionBar Buttons

@Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.buttons,menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {
            case R.id.buttonIcon:
             
                    Toast.makeText(OrderDetailActivity.this,"hello world",Toast.LENGTH_SHORT).show();
        

                break;
        }
        return super.onOptionsItemSelected(item);
    }
View Code

android版本3.0或者更高

  • always->一直显示在Action bar;
  • ifRoom->如果ActionBar够空间则显示;
  • never->不显示在Action Bar中,折叠在Over Flow里;
  • withText->菜单项和它的图标,菜单文本一起显示)

android版本2.0或者更高

需要引入命名空间

  • 在menu.xml加入自定义命名空间 

           xmlns:myapp="http://schemas.android.com/apk/res-auto"

  •      在ShowAsAction前指定命名空间
myapp:showAsAction="always"

相关推荐