ActionBar的简单使用

只简单实现了一下ActionBar的使用,在右上角添加两个ActionBar,在左上角实现默认的返回箭头,类似于微信朋友圈的

这是MainActivity的代码:

public class MainActivity extends Activity{

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
    //充气Menu,即把菜单显示出来
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        MenuInflater inflater = getMenuInflater();
        inflater.inflate(R.menu.main, menu);
        
        return true;
    }
    //处理菜单上的点击事件
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        if(item.getItemId()==R.id.add){//如果点击了ActionBar上的添加图标
            Toast.makeText(this, "add", 0).show();
        }else if(item.getItemId()==R.id.right){//如果点击了打勾的图标
            Toast.makeText(this, "打勾", 0).show();
        }
        return true;
    }
    //跳转到第二个Activity
    public void click(View v){
        startActivity(new Intent(this, SecondActivity.class));
    }
}

这是MainActivity上的菜单:

<menu xmlns:android="http://schemas.android.com/apk/res/android" >

    <item
        android:id="@+id/action_settings"
        android:orderInCategory="100"
        android:showAsAction="never"
        android:title="@string/action_settings"/>
    <item 
        android:id="@+id/add"
        android:showAsAction="ifRoom"
        android:icon="@drawable/a_f_inbox"/>
    <item 
        android:id="@+id/right"
        android:showAsAction="ifRoom"
        android:icon="@drawable/common_checkbox_checked"/>
    <item 
        android:id="@+id/back"
        android:showAsAction="ifRoom"
        android:icon="@drawable/back_pressed"/>
</menu>

第二个Activity的代码:

/**第二个Activity*/
public class SecondActivity extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_second);
        
        //相当于给ActionBar上装上默认的返回箭头
        ActionBar actionBar = getActionBar();
        actionBar.setDisplayHomeAsUpEnabled(true);
    }
  //显示第二个Activity的顶部菜单栏 @Override
public boolean onCreateOptionsMenu(Menu menu) { MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.seond_activity_actionbar, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { //android.R.id.home 此ID就是那个ActionBar上默认返回箭头的系统ID if(item.getItemId()==android.R.id.home){//当点击了返回箭头 finish(); }else if(item.getItemId()==R.id.second){ Toast.makeText(this, "第二个Activity的联系人ActionBar", 0).show(); } return true; } }

第二个Activity的菜单代码:

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
    <!-- 联系人的头像 -->
    <item android:id="@+id/second"
        android:showAsAction="ifRoom"
        android:icon="@drawable/ic_contact_picture"/>    

</menu>

运行结果图:

  

原文地址:https://www.cnblogs.com/android-yus/p/4953790.html