andorid actionBar


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 時 

同時設置 Activity 的actionBarOverlay 和 fitsSystemWindows 時,contentView 的topPadding 同時加上statusBar的高度 和 ActionBar的高度, 這應該是個系統bug, 按理ActionBar是浮層了,不該該加上ActionBar的高度了。spa

解決辦法就是不設置  fitsSystemWindow,若是你設置了 windowTranslucentStatus 使狀態欄透明瞭, 那麼在你的content view layout中 加上適當的topPadding 就能夠了不被status bar 遮擋內容了(其實沒必要要, 由於status bar 已經透明瞭)code


相關文章
相關標籤/搜索