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>

运行结果图:

  ActionBar的简单使用

上一篇:Umano Android SlidingUpPanel – 动画


下一篇:C++多态?