状态栏透明无法正常工作

时间:2015-09-10 22:08:04

标签: android android-5.0-lollipop material-design

我正在尝试使用透明状态栏和常见壁纸进行活动。问题是状态栏和活动试图绘制不同的背景,每个背景都会导致图像破旧。

主题xml:

fitssystemWindows - true
statusBarColor - @android:color/transparent
background - @drawable/backdrop

我稍后会使用精确的XML进行编辑。

图片(无法在此处上传图片):https://drive.google.com/file/d/0B4QbRXVog08OY1doazJmaTNoeGs/view?usp=docslist_api

编辑1 :尝试使用下面建议的解决方案,仍然无法正常工作

主题xml:

    <style name="AppTheme" parent="android:Theme.Material.Light.NoActionBar">
    <!-- Customize your theme here. -->
    <item name="android:statusBarColor">@android:color/transparent</item>
</style>

activity_main.xml:

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<ImageView
    android:id="@+id/backgroundIV"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:scaleType="centerCrop"
    android:src="@drawable/backdrop" />

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fitsSystemWindows="true"
    android:orientation="vertical"/>

此时应用程序显示如下: http://drive.google.com/file/d/0B4QbRXVog08OX25Ib1kteDJvazQ/view?usp=sharing

更新工作代码

主题xml -

    <style name="AppTheme" parent="android:Theme.Material.Light.NoActionBar">
    <!-- Customize your theme here. -->
    <item name="android:fitsSystemWindows">true</item>
    <item name="android:background">@drawable/backdrop</item>
    <item name="android:windowTranslucentStatus">true</item>
    <item name="android:windowTranslucentNavigation">true</item>
</style>

活动布局xml:

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >

1 个答案:

答案 0 :(得分:0)

你应该在样式文件(v19及以上版本)

中半透明状态栏和导航栏
<item name="android:windowTranslucentStatus">true</item>
<item name="android:windowTranslucentNavigation">true</item>

修改 并使用此布局:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    tools:context="com.app.MainActivity" >

    <ImageView
        android:id="@+id/main_bg"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:scaleType="centerCrop"
        android:src="@drawable/bg_main" />

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:fitsSystemWindows="true"
        android:orientation="vertical" >

            <!--  content here -->

    </LinearLayout>

</RelativeLayout>