如何设置放置在 ImageView 上的 textview 的背景不透明度

Posted

技术标签:

【中文标题】如何设置放置在 ImageView 上的 textview 的背景不透明度【英文标题】:How to set background opacity of a textview placed on to of ImageView 【发布时间】:2014-01-19 19:29:37 【问题描述】:

我想在名称上有透明背景的情况下实现以下结果。:

到目前为止,这就是我所做的(忽略图像周围的黑色边框):

我想要一个透明背景(实际上是调整了不透明度的彩色背景)。

这是我一直在使用的 XML 代码:

<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_
android:layout_
android:orientation="vertical"
android:padding="5dp">

<ImageView
    android:id="@+id/iconItem"
    android:layout_
    android:layout_
    android:layout_alignParentLeft="true"
    android:layout_alignParentRight="true"
    android:layout_gravity="center"
    android:src="@drawable/shout_ic"/>
<TextView
    android:id="@+id/textItem"
    android:layout_
    android:layout_
    android:layout_centerHorizontal="true"
    android:layout_centerVertical="true"
    android:layout_alignBottom="@+id/iconItem"
    android:paddingBottom="5dip"
    android:textSize="10sp"
    android:textColor="#FFF"/>
</RelativeLayout>

谁能指出我如何实现这些目标的正确方向?谢谢

【问题讨论】:

【参考方案1】:

在您的 TextView 定义中,添加:

android:background="#8888"

888 是中间灰色 (888888),8 是中间 alpha (88)

android:background="#8000"

000 是黑色 (000000),8 是中间 alpha (88)

【讨论】:

【参考方案2】:

您可以通过xml设置背景颜色,如其他答案所示。

您还可以动态获取Backgtound 并设置alpha。

textItem.getBackground().setAlpha(100); // int value between 0 and 255

【讨论】:

【参考方案3】:

像这样将背景属性添加到您的文本视图中:

<TextView
android:id="@+id/textItem"
android:layout_
android:layout_
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:layout_alignBottom="@+id/iconItem"
android:paddingBottom="5dip"
android:textSize="10sp"
android:textColor="#FFF"
android:background="#70000000"/>

【讨论】:

【参考方案4】:

android:background 添加到textView

<TextView
  android:id="@+id/textItem"
  android:layout_
  android:layout_
  android:layout_centerHorizontal="true"
  android:layout_centerVertical="true"
  android:layout_alignBottom="@+id/iconItem"
  android:background="#80000000"
  android:paddingBottom="5dip"
  android:textSize="10sp"
  android:textColor="#FFF"/>

并且您可以根据百分比更改透明度

查看understanding the Color codes in android

【讨论】:

【参考方案5】:
<FrameLayout
 xmlns:android="http://schemas.android.com/apk/res/android"
 xmlns:tools="http://schemas.android.com/tools"
 android:layout_
 android:layout_
 android:orientation="vertical"
 android:padding="5dp">

<ImageView
android:id="@+id/iconItem"
android:layout_
android:layout_
android:layout_gravity="center"
android:src="@drawable/shout_ic"/>
 <TextView
android:id="@+id/textItem"
android:layout_
android:layout_
android:layout_gravity="center"
android:layout_alignBottom="@+id/iconItem"
android:paddingBottom="5dip"
android:textSize="10sp"
android:textColor="#FFF"/>
</FrameLayout>

【讨论】:

【参考方案6】:

尝试添加

android:alpha="0.5"

对于TextView,它应该使其半透明

【讨论】:

以上是关于如何设置放置在 ImageView 上的 textview 的背景不透明度的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Android 上的 textview 或 imageview 上设置涟漪效果?

Swift 如何将 UIStackView 放置在 ImageView 的特定角落

如何在 ImageView 上放置文本

Espresso 如何点击一个 ImageView 放置在 listview 的第一项?

包含带有很多按钮的 ImageView 的 ScrollView

删除 UITableViewCell 上的填充