關於 ActionBar 的一個問題



在寫ViewPager demo的時候,想要圖1的效果,但是設置了下面代碼之後,啓動時總是先閃一下圖2.

getActionBar().setDisplayOptions(0, ActionBar.DISPLAY_SHOW_HOME | ActionBar.DISPLAY_SHOW_TITLE);
getActionBar().setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);

解決辦法:

在manifest中activity加一個屬性

android:theme="@style/MainActivityTheme"
styles.xml文件中加上如下代碼(java代碼中就不用setDisplayOptions()了)。

    <style name="MainActivityTheme" parent="android:Theme.Light">
        <item name="@android:actionBarStyle">@style/ActionBarStyle.Default</item>
    </style>


    <style name="ActionBarStyle.Default" parent="@android:style/Widget.Holo.Light.ActionBar">
        <item name="android:displayOptions">none</item>
    </style>


原因是,加載的時候會先加載主題,然後在加載代碼。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章