我希望我的 LayerList 的不透明度为 80,所以我写道:
<layer-list
xmlns:android="http://schemas.android.com/apk/res/android"
android:opacity="80">
但我得到:
Error: Integer types not allowed (at 'opacity' with value '80')
如何指定不透明度?
我希望我的 LayerList 的不透明度为 80,所以我写道:
<layer-list
xmlns:android="http://schemas.android.com/apk/res/android"
android:opacity="80">
但我得到:
Error: Integer types not allowed (at 'opacity' with value '80')
如何指定不透明度?
要提供半透明效果,例如 50% 的不透明度,请使用:
Drawable d = new ColorDrawable(Color.BLACK);
d.setAlpha(130);
mDialog.getWindow().setBackgroundDrawable(d);
可以更改“130”(0-255)以实现所需的不透明度。
android:opacity 仅支持 layer-list 中的 translucent|opaque|transparent 值。
顺便问一下你的要求是什么?
更新答案:要将不透明度/不那么可见设置为 80%,您需要设置为您的视图
android:alpha="0.8"
我认为这个问题是关于在 a 中设置单个项目的不透明度<layer-list>
,而不是以编程方式设置整个图像。
如果您已经知道颜色,请使用组合十六进制 RGBA 代码,例如:
<solid android:color="#80FF0000" />
将颜色设置为红色 (0xFF0000),不透明度为 0x80。
同样的事情也适用于其他一些项目。例如中风
<stroke android:color="#6000FF00" android:width="20dp" />
这将创建一个 0x60 不透明度的 20dp 厚的绿色描边。
此外,如果您想以编程方式执行此操作,即修改特定项目的 alpha 而不是整个可绘制对象,请为项目使用新的资源 id (android:id="@+id/...") 并访问它 。我还没有碰巧验证这部分。