1,actionBar 隱藏 title 和icon 能夠經過代碼設置也能夠經過主題設置,另外若是要用logo代替icon ,須要設置ShowHomeEnabled爲true;html
2,關於設置CustomView , customview所處的actionBar容器實際上是一個LinearLayout容器, 並設置了 clipToBounds 屬性,因此customView的長度最長是actionBar的長度減去 backArrow、logo(或icon)等的長度,即便customview的長度設置的很長;若是customView較小的話,能夠設置其layout_gravity。默認是center;java
3,設置HomeAsUpEnabled 爲true 能夠顯示backArrow, 點擊backArrow 默認沒有返回事件,須要在其activity聲明中加入 parentActivity屬性 或 實現 android
getSupportParentActivityIntent() 和 onCreateSupportNavigateUpTaskStack()方法,參考:ide
http://developer.android.com/guide/topics/ui/actionbar.html#Adding ui
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); ActionBar actionBar = getActionBar(); //如何隱藏ActionBar的標題欄部分 //方法1 //actonBar.setDisplayOptions(0,ActionBar.DISPLAY_SHOW_HOME|ActionBar.DISPLAY_SHOW_TITLE ); actionBar.setDisplayShowTitleEnabled(false); //actionBar.setDisplayShowHomeEnabled(false); //display logo if any instead of icon actionBar.setDisplayShowHomeEnabled(true); actionBar.setDisplayUseLogoEnabled(true); //show back arrow actionBar.setDisplayHomeAsUpEnabled(true); actionBar.setDisplayShowCustomEnabled(true); actionBar.setCustomView(R.layout.include_top_bar); }
同時設置 Activity 的actionBarOverlay 和 fitsSystemWindows 時,contentView 的topPadding 同時加上statusBar的高度 和 ActionBar的高度, 這應該是個系統bug, 按理ActionBar是浮層了,不該該加上ActionBar的高度了。spa
解決辦法就是不設置 fitsSystemWindow,若是你設置了 windowTranslucentStatus 使狀態欄透明瞭, 那麼在你的content view layout中 加上適當的topPadding 就能夠了不被status bar 遮擋內容了(其實沒必要要, 由於status bar 已經透明瞭)code