Android 添加ActionBar Buttons

时间:2023-03-09 17:30:18
Android 添加ActionBar Buttons

Android 添加ActionBar Buttons

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

<?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>

二、在Activity中引用该menu.xml

  @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);
}

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"