actionbar的常见的关于图标和标题的操作
1.Java代码
1 package com.bwf.actionbar; 2 3 import android.os.Bundle; 4 import android.app.ActionBar; 5 import android.app.Activity; 6 import android.content.Intent; 7 import android.view.Menu; 8 import android.view.MenuItem; 9 import android.widget.Toast; 10 /** 11 * 使用的基本流程: 12 * 1. 为ActionBar和Menu的选项进行配置 13 * 2. 复写onCreateOptionsMenu中将在menu文件夹下配置的文件转换成Menu选项 14 * 3. 复写onOptionsItemSelected来监听选项的点击事件 15 * */ 16 public class MainActivity extends Activity { 17 18 @Override 19 protected void onCreate(Bundle savedInstanceState) { 20 super.onCreate(savedInstanceState); 21 setContentView(R.layout.activity_main); 22 // 启用Home图标,使之可以点击 23 // 取得ActonBar的对象 24 ActionBar ac = getActionBar(); 25 //ac.setHomeButtonEnabled(true); 26 //ac.setDisplayHomeAsUpEnabled(true); 27 // 隐藏标题 28 //ac.setDisplayShowTitleEnabled(false); 29 // 是否启用icon 30 ac.setDisplayShowHomeEnabled(false); 31 // 是否启用logo 32 //ac.setDisplayUseLogoEnabled(true); 33 } 34 35 @Override 36 public boolean onCreateOptionsMenu(Menu menu) { 37 // Inflate the menu; this adds items to the action bar if it is present. 38 getMenuInflater().inflate(R.menu.main, menu); 39 return true; 40 } 41 42 @Override 43 public boolean onOptionsItemSelected(MenuItem item) { 44 String str = ""; 45 switch (item.getItemId()) { 46 // 监听ActionBar上面的HOME图标的点击事件 47 case android.R.id.home: 48 str = "HOME"; 49 // 返回上一个页面 50 // 跳转回之前的Activity即可 51 52 // 返回到HOME页面 53 // 跳转到HOME页面 54 Intent intent = new Intent(); 55 intent.setAction(Intent.ACTION_MAIN); 56 intent.addCategory(Intent.CATEGORY_HOME); 57 startActivity(intent); 58 break; 59 case R.id.action_settings: 60 str = "设置"; 61 break; 62 case R.id.action_search: 63 str = "搜索"; 64 break; 65 case R.id.action_add: 66 str = "添加"; 67 break; 68 case R.id.action_update: 69 str = "更新"; 70 break; 71 case R.id.action_del: 72 str = "删除"; 73 break; 74 75 default: 76 break; 77 } 78 79 Toast.makeText(getApplicationContext(), "您选择了"+str, Toast.LENGTH_LONG).show(); 80 return super.onOptionsItemSelected(item); 81 } 82 }
2.AndroidManifest.xml文件中可以设置图标的样式
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.bwf.actionbar" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="14" android:targetSdkVersion="17" /> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name="com.bwf.actionbar.MainActivity" android:logo="@drawable/address_book_add_32" android:icon="@drawable/address_book_close_32" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest>
3.menu 文件的menu.xml
1 <menu xmlns:android="http://schemas.android.com/apk/res/android" 2 > 3 4 <item 5 android:id="@+id/action_settings" 6 android:orderInCategory="100" 7 android:showAsAction="never" 8 android:title="@string/action_settings"/> 9 <item 10 android:id="@+id/action_add" 11 android:orderInCategory="20" 12 android:showAsAction="ifRoom" 13 android:title="添加"/> 14 <item 15 android:id="@+id/action_del" 16 android:orderInCategory="100" 17 android:showAsAction="ifRoom" 18 android:title="删除"/> 19 <item 20 android:id="@+id/action_search" 21 android:orderInCategory="10" 22 android:showAsAction="ifRoom" 23 android:title="搜索"/> 24 <item 25 android:id="@+id/action_update" 26 android:orderInCategory="100" 27 android:showAsAction="never" 28 android:title="更新"/> 29 30 </menu>
浙公网安备 33010602011771号