StatusBar彩色显示在Kitkat中很奇怪

时间:2016-11-26 06:51:05

标签: android android-layout colors statusbar android-4.4-kitkat

当我运行我的Application.My状态栏时,背景颜色显示很奇怪。我不知道为什么会这样。

enter image description here

正如您在Top中所见,黑色阴影颜色显示类似于Gradient类型。

由于此设备具有Kitkat版本,因此它显示为black颜色。

这个错误或其他什么帮助得到赞赏?

layout_login.xml

<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <ScrollView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:fillViewport="true">
        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:background="@color/white1"
            app:layout_behavior="@string/appbar_scrolling_view_behavior">
            <ImageView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="@dimen/normal_margin40"
                android:id="@+id/imageView_logo"
                android:src="@drawable/gargi_logo"
                android:layout_centerHorizontal="true" />
            <android.support.design.widget.TextInputLayout
                android:id="@+id/textinputLayout_username"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginLeft="@dimen/normal_margin40"
                android:layout_marginRight="@dimen/normal_margin40"
                android:layout_marginTop="@dimen/normal_margin50"
                android:layout_below="@+id/imageView_logo">
                <android.support.design.widget.TextInputEditText
                    android:id="@+id/login_username_editText"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:hint="@string/username"
                    android:singleLine="true"
                    android:focusable="true"
                    android:focusableInTouchMode="true"
                    android:inputType="textPersonName" />
            </android.support.design.widget.TextInputLayout>
            <android.support.design.widget.TextInputLayout
                android:id="@+id/textinputLayout_password"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginLeft="@dimen/normal_margin40"
                android:layout_marginRight="@dimen/normal_margin40"
                android:layout_below="@+id/textinputLayout_username"
                android:layout_marginTop="@dimen/normal_margin5">
                <android.support.design.widget.TextInputEditText
                    android:id="@+id/login_password_editText"
                    android:layout_height="wrap_content"
                    android:layout_width="match_parent"
                    android:hint="@string/password"
                    android:singleLine="true"
                    android:inputType="textPassword" />
            </android.support.design.widget.TextInputLayout>
            <Button
                android:id="@+id/login_button"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_below="@+id/textinputLayout_password"
                android:theme="@style/AppTheme.Button"
                android:text="@string/login"
                android:textStyle="bold"
                android:textColor="@color/white1"
                android:gravity="center"
                android:padding="2dp"
                android:layout_marginTop="@dimen/normal_margin5"
                android:layout_marginLeft="@dimen/normal_margin40"
                android:layout_marginRight="@dimen/normal_margin40" />
            <TextView
                android:id="@+id/txt_forgetpassword"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_below="@+id/login_button"
                android:text="@string/forget_password"
                android:textColor="@color/colorPrimary"
                android:gravity="center_horizontal"
                android:layout_marginTop="@dimen/normal_margin10" />
            <TextView
                android:id="@+id/signUp_textView"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:textColor="@color/colorPrimary"
                android:text="@string/register_now"
                android:gravity="center_horizontal"
                android:layout_marginBottom="@dimen/normal_margin10"
                android:layout_alignParentBottom="true" />
        </RelativeLayout>
    </ScrollView>
</android.support.design.widget.CoordinatorLayout>

styles.xml

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
    </style>

    <style name="AppTheme.NoActionBar">
        <item name="windowActionBar">false</item>
        <item name="windowNoTitle">true</item>
        <item name="android:titleTextStyle">@style/myTheme.ActionBar.Text</item>
    </style>

这是我的LoginActivity所以我使用这个主题

  

AppTheme.NoActionBar

UpDate:

我创建了新的Google Kitkat设备,显示相同的结果

enter image description here

2 个答案:

答案 0 :(得分:1)

状态栏是操作系统拥有的系统窗口。在5.0之前的Android设备上,应用程序无权更改其颜色,因此这不是AppCompat库可以支持旧平台版本的内容。 AppCompat可以做的最好的事情是为应用程序中的ActionBar和其他常见UI小部件着色提供支持。

答案 1 :(得分:0)

为了从您的内容中获得最大的影响,您现在可以使用新的窗口样式和主题来请求半透明的系统UI,包括状态栏和导航栏。为确保导航栏按钮或状态栏信息的易读性,系统栏后面会显示细微渐变。典型的用例是需要向壁纸显示的应用程序。 - 原因;)