关于 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>


原因是,加载的时候会先加载主题,然后在加载代码。



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