SupportActionBar()
1.設置加載條和加載圈
1 @Override 2 protected void onCreate(Bundle savedInstanceState) { 3 // Bar和下面的Activity背景都為白色 4 setTheme(R.style.Theme_Sherlock_Light); 5 //圓形加載必須在setContextView之前調用 6 requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS); 7 //條形加載必須在setContextView之前調用 8 requestWindowFeature(Window.FEATURE_PROGRESS); 9 super.onCreate(savedInstanceState); 10 setContentView(R.layout.activity_main); 11 //啟用圓形加載 12 setSupportProgressBarIndeterminateVisibility(false); 13 //啟用條形加載 14 setSupportProgressBarVisibility(true);setSupportProgress(進度); 15 }
2.是否顯示添加的View
1 /** 2 * 添加view,然后設置是否顯示 3 */ 4 getSupportActionBar().setCustomView(R.layout.custom_view); 5 getSupportActionBar().setDisplayShowCustomEnabled(false);
3.屬性設置
1 /** 2 * 顯示ActionBar 3 */ 4 getSupportActionBar().show(); 5 /** 6 * 隱藏ActionBar 7 */ 8 getSupportActionBar().hide();
4.Navigation設置
1 /** 2 * 顯示標准的ActionBar 3 */ 4 getSupportActionBar().setNavigationMode( 5 ActionBar.NAVIGATION_MODE_STANDARD);
1 /** 2 * 顯示有list的ActionBar 3 */ 4 getSupportActionBar().setNavigationMode( 5 ActionBar.NAVIGATION_MODE_LIST);
1 /**為NAVIGATION_MODE_LIST添加list 2 * R.array.locations文字數組 3 * R.layout.sherlock_spinner_item默認就OK 4 * R.layout.sherlock_spinner_dropdown_item默認就OK 5 */ 6 Context context = getSupportActionBar().getThemedContext(); 7 ArrayAdapter<CharSequence> listAdapter = ArrayAdapter 8 .createFromResource(context, R.array.locations, 9 R.layout.sherlock_spinner_item); 10 listAdapter 11 .setDropDownViewResource(R.layout.sherlock_spinner_dropdown_item);
getSupportActionBar().setListNavigationCallbacks(listAdapter, ActionBar.OnNavigationListener);
其中的ActionBar.OnNavigationListener接口用於監聽點擊事件
/** * 顯示有tab的ActionBar */ getSupportActionBar().setNavigationMode( ActionBar.NAVIGATION_MODE_TABS);
1 /** 2 * 添加tabitem 3 */ 4 ActionBar.Tab newTab = getSupportActionBar().newTab(); 5 //為item添加子布局 6 //newTab.setCustomView(R.layout.tab_custom_view); 7 //為item添加icon 8 //newTab.setIcon(R.drawable.ic_title_share_default); 9 //為item添加標題 10 newTab.setText("Text!"); 11 //為item添加監聽 12 newTab.setTabListener(實現這個接口ActionBar.TabListener); 13 //添加到Actionb中 14 getSupportActionBar().addTab(newTab);
1 /** 2 * 隱藏/顯示Tittle 3 */ 4 getSupportActionBar().setDisplayShowTitleEnabled(true);
1 /** 2 * 隱藏/顯示Custom 3 */ 4 getSupportActionBar().setDisplayShowCustomEnabled(true);
1 /** 2 * 添加子標題 3 */ 4 getSupportActionBar().setSubtitle( 5 "The quick brown fox jumps over the lazy dog.");
1 /** 2 * 隱藏/顯示返回箭頭 3 */ 4 getSupportActionBar().setDisplayHomeAsUpEnabled(true);
1 /** 2 * 隱藏/顯示功能圖片 3 */ 4 getSupportActionBar().setDisplayShowHomeEnabled(true);
1 /** 2 * 設置使用activity的logo還是activity的icon 3 * true為logo 4 */ 5 getSupportActionBar().setDisplayUseLogoEnabled(true);
源碼地址 https://github.com/JakeWharton/ActionBarSherlock