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>
运行结果图: