Android Gray Out LinearLayout

时间:2019-04-18 08:13:15

标签: android android-layout

我有一个线性布局,其中包含一组子视图(文本,图像和其他布局的混合)。

我想使线性布局和所有子视图变灰,以使其看起来处于禁用状态(类似于按钮的工作方式)。

这有可能实现吗?我知道我可以在画布上绘画时设置滤色器,是否有类似的布局?

3 个答案:

答案 0 :(得分:0)

另一种方法是在每个子对象上调用setEnabled()(例如,如果要在禁用子对象之前对子对象进行一些额外检查),请查看以下答案: https://stackoverflow.com/a/7069377/4840812

答案 1 :(得分:0)

您可以使用框架布局

使用 TEST ONE (测试一次),您可以实现上述文本视图,例如已禁用。您可以将root layout设置为clickable false,以实际禁用layout内部的视图。 两次测试是出于理解目的。就像您需要管理视图顺序才能显示效果。

<video id="videoplayer" playsinline autoplay controls>
  <source src="" type="video/mp4">
</video>

答案 2 :(得分:-1)

要实现布局,您可以使用RelativeLayout。在RelativeLayout中,您可以使用2个不同的视图或LinearLayout。在第一种布局中,您可以根据需要添加视图,在第二种布局中,可以设置alpha颜色代码以禁用该布局。

请尝试以下代码:

<RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_centerInParent="true">
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:gravity="center">
            <ImageView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:src="@drawable/demo_img_1" />
            <ImageView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:src="@drawable/demo_img_1"
                android:layout_marginLeft="20dp"/>
        </LinearLayout>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:background="@color/trans"/>

    </RelativeLayout>

此处输出代码:

enter image description here