如何使用主题不可见的操作栏开始新活动?

时间:2016-11-18 16:00:31

标签: android android-actionbar

为什么我的这种风格不会导致操作栏无法显示?

我的活动来自appcompat。我认为这些都是正确的属性。

<style name="Theme.AppCompat.Light.NoActionBar.FullScreen" parent="Theme.AppCompat.Light">
    <item name="android:windowFullscreen">true</item>
    <item name="android:windowActionBar">false</item>
    <item name="android:windowNoTitle">true</item>
    <item name="android:windowContentOverlay">@null</item>
</style>

它正在生效,导致状态栏被删除。但是动作栏似乎没有受到影响。

我仍然可以成功删除这样的操作栏:

public class MainMenuScreen extends AppCompatActivity {



       protected void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);

                getSupportActionBar().hide();

                setContentView(R.layout.activity_main_menu_screen);

但我不得不承认我对xaml无法做到这一点有点失望。

1 个答案:

答案 0 :(得分:1)

你能展示你的清单吗?你在哪里将主题与活动联系起来? 尝试这样的事情:

<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="AppTheme" parent="BaseTheme" />

<style name="BaseTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="colorPrimary">@color/cobalt_light</item>
    <item name="colorPrimaryDark">@color/cobalt</item>
    <item name="colorControlHighlight">@color/cobalt_lighter</item>

    <item name="colorAccent">@color/cobalt_light</item>
</style>
</resources>

您不需要从父Theme.AppCompat.Light

延伸