Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發 >> 關於android開發 >> 【ActionBar的使用】,【ActionBar使用】

【ActionBar的使用】,【ActionBar使用】

編輯:關於android開發

【ActionBar的使用】,【ActionBar使用】


在AS工程中使用ActionBar

簡單實用:

1、功能清單文件中指定主題標簽屬性Theme.Holo或其子類

 1 <application android :theme="@android:style/Theme.Holo.Light" > 

2、可以自己指定顯示的圖標,默認是應用的圖標

1 <activity
2             android:name=".UI.MainActivity"
3             android:logo="@drawable/icon" />

3、在Activity中設置屬性

 1 @Override
 2     protected void onCreate(Bundle savedInstanceState) {
 3         super.onCreate(savedInstanceState);
 4         setContentView(R.layout.activity_main);
 5 
 6         android.app.ActionBar actionBar= getActionBar();
 7         actionBar.show();//設置顯示
 8         //actionBar.hide();//設置隱藏
 9         actionBar.setHomeButtonEnabled(true);
10         actionBar.setDisplayShowHomeEnabled(true);//以上兩句是設置可以讓actionBar的圖標可以響應點擊事件
11         actionBar.setDisplayHomeAsUpEnabled(true);//這一行用於返回效果
12     }

  也可以設置Activity標簽屬性來設置隱藏

1 <activity
2      android:name=".UI.WelComeActivity"
3      android:theme="@android:style/Theme.NoTitleBar">

4、在res資源目錄下創建一個menu文件夾,在menu文件夾創建一個actionbar_menu.xml

  android:showAsAction :標簽屬性,根據需要自行設置

  android:title :一般都設置,根據需要,但並不一定會顯示,根據showAsAction標簽影響

 1 <?xml version="1.0" encoding="utf-8"?>
 2 <menu xmlns:android="http://schemas.android.com/apk/res/android">
 3     <item
 4         android:id="@+id/menu_seek"
 5         android:showAsAction="always"
 6         android:actionViewClass="android.widget.SearchView"
 7         android:title="搜索" />
 8     <item
 9         android:id="@+id/menu_history"
10         android:showAsAction="never"
11         android:title="查看歷史" />
12     <item
13         android:id="@+id/menu_down"
14         android:showAsAction="never"
15         android:title="查看下載" />
16 </menu>
fRoom 會顯示在Item中,但是如果已經有4個或者4個以上的Item時會隱藏在溢出列表中。當然個 數並不僅僅局限於4個,依據屏幕的寬窄而定 never 永遠不會顯示。只會在溢出列表中顯示,而且只顯示標題,所以在定義item的時候,最好 把標題都帶上。 always 無論是否溢出,總會顯示。 withText withText值示意Action bar要顯示文本標題。Action bar會盡可能的顯示這個 標題,但是,如果圖標有效並且受到Action bar空間的限制,文本標題有可 能顯示不全。    collapseActionView   聲明了這個操作視窗應該被折疊到一個按鈕中,當用戶選擇這個按鈕時,這個操作視窗展開。否則, 這個操作視窗在默認的情況下是可見的,並且即便在用於不適用的時候,也要占據操作欄的有效空間。 一般要配合ifRoom一起使用才會有效果。

 

5、重寫回調方法,就可以顯示了

1 @Override
2     public boolean onCreateOptionsMenu(Menu menu) {
3         MenuInflater inflater = getMenuInflater();
4         inflater.inflate(R.menu.actionbar_menu, menu);
5         return super.onCreateOptionsMenu(menu);
6     }

點擊顯示效果

6、重寫點擊回調方法,根據需要添加代碼

  android.R.id.home默認指定的是左上角的圖標點擊響應

 1 @Override
 2  public boolean onOptionsItemSelected(MenuItem item) {
 3     switch (item.getItemId()) {
 4         case android.R.id.home:
 5             Toast.makeText (this, "你點擊了“home”按鍵!" , Toast.LENGTH_SHORT).show() ;
 6             return true;
 7         case R.id. menu_seek:
 8             Toast.makeText (this, "你點擊了“搜索”按鍵!" , Toast.LENGTH_SHORT).show() ;
 9             return true;
10         case R.id. menu_down:
11             Toast.makeText (this, "你點擊了“查看下載”按鍵!" , Toast.LENGTH_SHORT).show() ;
12             return true;
13         case R.id. menu_history:
14             Toast.makeText (this, "你點擊了“查看歷史”按鍵!" , Toast.LENGTH_SHORT).show() ;
15             return true;
16         default:
17             return super .onOptionsItemSelected(item);
18     }
19 }

  一般左上角的圖標點擊都是回退到主界面,在圖標的點擊響應添加代碼

 1 case android.R.id.home:
 2     //finish();這個只是簡單的銷毀了當前的界面
 3     Intent upIntent = NavUtils.getParentActivityIntent(this);//獲取到跳轉至父Activity的Intent
 4     //如果父Activity和當前Activity是在同一個Task中的,則直接調用navigateUpTo()方法進行跳轉
 5     if (NavUtils.shouldUpRecreateTask(this, upIntent)) {
 6         android.support.v4.app.TaskStackBuilder.create(this)
 7                    .addNextIntentWithParentStack(upIntent)
 8                    .startActivities();
 9     } else {//如果不是在同一個Task中的,則需要借助TaskStackBuilder來創建一個新的Task
10         upIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
11         NavUtils.navigateUpTo(this, upIntent);
12     }
13     Toast.makeText(this, "你點擊了“home”按鍵!", Toast.LENGTH_SHORT).show();
14 return true;

 

 

  

 

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved