我有一个线性布局,其中包含一组子视图(文本,图像和其他布局的混合)。
我想使线性布局和所有子视图变灰,以使其看起来处于禁用状态(类似于按钮的工作方式)。
这有可能实现吗?我知道我可以在画布上绘画时设置滤色器,是否有类似的布局?
答案 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>
此处输出代码: