ActionBar的基本用法
程序员文章站
2022-06-03 13:03:23
...
ActionBar的基本用法
ActionBar的组成:
[1]AppIcon:标题区,显示应用程序图标和标题,也可以自定义。
[2]ViewControl:导航区,可以设置Tab选项卡导航,Spinner下拉导航。
[3]ActionButtons:菜单区,添加菜单按钮。
[4]ActionOverflow:溢出区,显示不下的菜单按钮自动添加到这里,有Menu按键的手机不显示,只能通过Menu按键呼叫。
ActionBar的使用(兼容2.x):
使用API>18,导入Support V7包。
import android.support.v7.app.ActionBar; import android.support.v7.app.ActionBarActivity;使当前Activity 继承 ActionBarActivity。
public class MainActivity extends ActionBarActivity获取当前ActionBar。
ActionBar actionBar = getSupportActionBar();配置ActionBar。
//显示ActionBar actionBar.show(); //隐藏ActionBar actionBar.hide(); //显示图标 actionBar.setDisplayShowHomeEnabled(true); //显示标题 actionBar.setDisplayShowTitleEnabled(true); //设置图标 actionBar.setIcon(R.drawable.ic_launcher); //设置标题 actionBar.setTitle(R.string.action_bar_Title); //允许使用图标按钮 actionBar.setHomeButtonEnabled(true); //显示返回主界面按钮 actionBar.setHomeButtonEnabled(true); //显示返回上一级按钮 actionBar.setDisplayHomeAsUpEnabled(true); //允许使用自定义视图 actionBar.setDisplayShowCustomEnabled(true);
ActionBar添加菜单:
ActionBar添加菜单的方法与Android2.x添加普通菜单的方法相同。
//添加菜单 @Override public boolean onCreateOptionsMenu(Menu menu) { //资源文件方式添加 getMenuInflater().inflate(R.menu.main, menu); //代码方式添加 MenuItem item = menu.add(groupId, itemId, order, title) .setIcon(iconRes); MenuItemCompat.setShowAsAction(item, MenuItemCompat.SHOW_AS_ACTION_ALWAYS); return true; } //处理菜单项 @Override public boolean onOptionsItemSelected(MenuItem item) { // Handle action bar item clicks here. The action bar will // automatically handle clicks on the Home/Up button, so long // as you specify a parent activity in AndroidManifest.xml. int id = item.getItemId(); if (id == R.id.action_settings) { return true; } return super.onOptionsItemSelected(item); }
处理返回按钮。
在onOptionsItemSelected中处理MenuItem Id为home或homeasup即可。
是android.R.id.home而不是R.id.home,没有android.R.id.homeasup。
if (id == android.R.id.home) { Intent intent = new Intent(this, MainActivity.class); startActivity(intent); return true; }
菜单的资源文件。
<menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" tools:context="com.example.zhuajimazi.MainActivity" > <item android:id="@+id/action_settings" android:orderInCategory="100" android:icon="@drawable/settings" android:title="@string/action_settings" app:showAsAction="ifRoom"/> <item android:id="@+id/action_update" android:orderInCategory="100" android:icon="@drawable/update" android:title="@string/action_update" app:showAsAction="ifRoom"/> <item android:id="@+id/action_about" android:orderInCategory="100" android:icon="@drawable/about" android:title="@string/action_about" app:showAsAction="ifRoom"/> <item android:id="@+id/action_exit" android:orderInCategory="100" android:icon="@drawable/exit" android:title="@string/action_exit" app:showAsAction="ifRoom"/> </menu>
上一篇: 这些平性的食物有如此功效
下一篇: ActionBar菜单的特殊用法