ActionBar是一种新増的导航栏功能,在Android 3.0之后加入到系统的API当中,它标识了用户当前操作界面的位置,并提供了额外的用户动作、界面导航等功能。
参考链接
https://developer.android.com/training/appbar/index.html?hl=zh-cn
http://blog.csdn.net/guolin_blog/article/details/18234477
在android studio中新建工程.默认的主题中就有action bar。也可以按照官网的操作,自己添加actionbar。
新建menu文件,用于设置actionbar的布局
res/menu/main_menu.xml
1.开头必须是menu标签。
2.item标签表示在menu中要显示的内容。
3.item的title标签在menu中的文字,在overflow中会显示。
4.item的icon标签是在menu显示的图片。这里使用了drawable目录中的png图片。
5.showAsAction中:
always表示一直actionbar中显示出来,
ifRoom表示如果空间足够,就在actionbar中显示,
never表示在overflow(就是三个.的地方)中显示
布局文件
activity_main.xml
清单文件
AndroidManifest.xml
默认的主题中就有actionbar.
MainActivity.java
package com.example.actionbartest;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.Menu;import android.view.MenuInflater;import android.view.MenuItem;import android.widget.Toast;public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } @Override public boolean onCreateOptionsMenu(Menu menu) { MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.main_menu, menu); return super.onCreateOptionsMenu(menu); } @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case R.id.pass: Toast.makeText(this, "Pass", Toast.LENGTH_SHORT).show(); return true; case R.id.fail: Toast.makeText(this, "fail", Toast.LENGTH_SHORT).show(); return true; case R.id.setting: Toast.makeText(this, "setting", Toast.LENGTH_SHORT).show(); return true; case R.id.configure: Toast.makeText(this, "configure", Toast.LENGTH_SHORT).show(); return true; default: return super.onOptionsItemSelected(item); } }}
1.重写onCreateOptionsMenu()函数,在app中就会显示actionbar添加的item.
2.重写onOptionsItemSelected()函数用于监听item的点击事件。
显示效果
Tony Liu
2017-3-16, Shenzhen