我试图将具有突出显示颜色的文本添加到ImageView中,我进行了一些搜索,但发现此answer并成功应用了它,但是我需要使图像中具有黑色的文本显示背景突出显示
当前的XML
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical">
<ImageView
android:id="@+id/postImage"
android:layout_width="match_parent"
android:layout_height="125dp"
android:layout_margin="2dp"
android:scaleType="centerCrop"
android:src="@mipmap/ic_launcher" />
<TextView
android:id="@+id/postTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignStart="@id/postImage"
android:layout_alignEnd="@id/postImage"
android:layout_alignRight="@id/postImage"
android:layout_alignLeft="@id/postImage"
android:layout_alignTop="@+id/postImage"
android:layout_alignBottom="@+id/postImage"
android:layout_margin="1dp"
android:ellipsize="end"
android:gravity="center|bottom"
android:maxLines="2"
android:text="Hello"
android:textColor="@color/white"
android:textSize="14sp" />
</RelativeLayout>
解决方法:
简单的方法是:将背景色添加到文本视图并基于透明度设置Alpha值.
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<ImageView
android:id="@+id/image"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/my_image"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="lasdfjsdfjlsdkfj"
android:background="@android:color/black"
android:textColor="@android:color/white"
android:layout_alignBottom="@id/image"
android:layout_alignLeft="@id/image"
android:textSize="18sp"
android:layout_alignRight="@id/image"
android:alpha="0.5"/>
</RelativeLayout>