textview 的白色背景不透明度为 50%

Posted

技术标签:

【中文标题】textview 的白色背景不透明度为 50%【英文标题】:50% opacity at white background for textview 【发布时间】:2013-12-15 22:28:13 【问题描述】:

我正在尝试将 #ffffff(white) 背景设置为 TextView 的 50% 不透明度。 我尝试使用android:alpha=0.5,但它也使文本 50% 透明。

我需要在白色背景下设置 50% 的不透明度。 我找到了一个教程Here,但不太了解。

请提供任何参考。 提前致谢。

【问题讨论】:

【参考方案1】:

textview 的白色背景为 50% 的不透明度:

    <TextView
     android:layout_
     android:layout_
     android:alpha=".5"
     android:gravity="center"
     android:text="50% opacity"
     android:textColor="@color/white" />  

     OR

  <TextView
     android:layout_
     android:layout_
     android:gravity="center"
     android:text="50% opacity"
     android:textColor="#80FFFFFF" />               

【讨论】:

【参考方案2】:

在您提到的教程中,您会注意到颜色值比您指定的值多两位数。您指定#FFFFFF(6 位),而本教程指定#CCFF0000(8 位)。添加的前两个数字 (CC) 代表 alpha。

所以在你的情况下尝试类似#AAFFFFFF

【讨论】:

【参考方案3】:

在您的布局文件中,只需将 TextView 的背景设置为“#8FFF”

<TextView
android:layout_
android:layout_
android:background="#8FFF"
/>

这里 8 是 alpha 值,FFF 分别是 RGB 值。 See here for more info on the background attribute

【讨论】:

但是你是如何计算这个的......我没有从你的链接中得到......你的答案是正确的......但需要理解......你计算这个?......可以详细说明? 这些值是十六进制值。您可以认为每个值分别独立于 A、R、G、B 值。十六进制数字是基数 16,16 的一半是 8。因此是 8。 那么在 50% 不透明度 (#0000000) 下黑色的值是多少?我只需要清除我的知识。 将十六进制值转换为整数值并除以 255 得到百分比。所以最大的十六进制值 (FF=255) 减半是 80=128,所以你的整个答案是 #80000000。【参考方案4】:

你试过了吗:

textView.getBackground().setAlpha(range);

//其中0

【讨论】:

以上是关于textview 的白色背景不透明度为 50%的主要内容,如果未能解决你的问题,请参考以下文章

将背景设置为黑色,不透明度为 50%

如何使输入字段的不透明度不影响其中的文本颜色?

在css当中使用opacity:0.5;属性设置了透明背景,之后上面的字设置白色不显示,求如何在透明背景上显示白

如何用PS制作花型背景图

在 html/css 中实现白色不透明效果

如何制作半透明背景?