将状态栏颜色设置为透明可使活动中的其他视图透明

时间:2015-10-08 22:35:47

标签: android

我为活动创建了此布局文件@+id/activity_play_panel

<LinearLayout     
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/activity_play_panel"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"

tools:context="com.example.michael.musicplayer.PlayPanel">

<View
    android:id="@+id/rectangle_at_the_top"
    android:layout_width="match_parent"
    android:layout_height="10dp"
    android:background="#00FFFF"/>

<View
    android:id="@+id/rectangle_at_the_bottom"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#000000"/>

然后,我添加了以下java代码,以使@+id/activity_play_panel tranparent中的黑条状态位于状态栏

    ColorDrawable colorDrawable = new ColorDrawable( Color.TRANSPARENT );
    getWindow().setBackgroundDrawable( colorDrawable );
    getWindow().setStatusBarColor(Color.TRANSPARENT);

但是,在我添加代码以使状态栏透明后,@+id/activity_play_panel中的第二个视图也变为透明。

如果我颠倒了视图的顺序,那么我可以看到第二个视图,但不是第一个视图,例如。

<!-- Not transparent-->

<View
    android:id="@+id/rectangle_at_the_top"
    android:layout_width="match_parent"
    android:layout_height="10dp"
    android:background="#00FFFF"/>

<!-- Transparent-->

<View
    android:id="@+id/rectangle_at_the_bottom"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#000000"/>

或逆转

<!-- Not transparent-->

<View
    android:id="@+id/rectangle_at_the_bottom"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#000000"/>

<!-- Transparent-->

<View
    android:id="@+id/rectangle_at_the_top"
    android:layout_width="match_parent"
    android:layout_height="10dp"
    android:background="#00FFFF"/>

2 个答案:

答案 0 :(得分:0)

线性布局的默认方向是水平的。

我只需将父线性布局设置为方向垂直。

android:orientation="vertical"

答案 1 :(得分:0)

我修好了^^ 因为你在rectangle_at_the_bottom高度值中做了match_parent! 把它改成这个:

<View
android:id="@+id/rectangle_at_the_bottom"
android:layout_width="match_parent"
android:layout_height="10dp"
android:background="#000000"/>