工具栏未显示在API< 21

时间:2016-03-28 14:13:43

标签: android android-toolbar

我想进行两种活动:工具栏(登录)和其他工具栏。

值/的themes.xml

<resources>

<style name="My.Login" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="android:textColorHint">@android:color/white</item>
</style>

<style name="My.Login.ScrollView">
    <item name="android:background">@color/primary</item>
</style>

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
</style>

<style name="AppTheme.NoActionBar">
    <item name="windowActionBar">false</item>
    <item name="windowNoTitle">true</item>
</style>

<style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" />

<style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light" />
</resources>

我的清单有android:theme="@style/AppTheme"

在主要活动中,我使用根元素:android:theme="@style/AppTheme" app:popupTheme="@style/ActionBarPopupThemeOverlay"

登录活动我在根元素app:theme="@style/My.Login" style="@style/My.Login.ScrollView"

中使用

所有活动类都延伸AppCompatActivity

当我在API&gt; = 21中运行应用程序时,它没问题,但在API&lt; 21中我在工具栏上有一个空白区域。

2 个答案:

答案 0 :(得分:0)

你应该使用它:

ActionBar actionBar = getActionBar();
actionBar.hide();

在你的活动的onCreate()方法中隐藏ActionBar。 顺便说一下,你必须隐藏StatusBar:

if (Build.VERSION.SDK_INT < 16) {
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
                WindowManager.LayoutParams.FLAG_FULLSCREEN);
} else {
        View decorView = getWindow().getDecorView();
        decorView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_FULLSCREEN);
}

您可以找到here

答案 1 :(得分:0)

我也遇到了同样的问题。就我而言,我必须导入-

import.support.v7.widget.Toolbar;

在我的活动中。导入后,错误已解决。