Android系统。在图像上添加文本效果

时间:2016-04-25 15:41:04

标签: android

世界!我是一名学生,我正在开发一个关于我的国家的Android应用程序。我注意到应用程序中的漂亮布局。 A text is over image at the bottom with background gradient

在此图片中,textviews位于图像底部,背景为美丽(渐变的种类) 我想知道你是否可以帮助我弄清楚如何做或显示方向。 我现在所拥有的一切: row.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="200dp"
    android:layout_marginBottom="5dp"
    xmlns:android="http://schemas.android.com/apk/res/android">
        <ImageView
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:src="@drawable/medeobase"
            android:scaleType="fitXY"
            android:id="@+id/place_image"
            />
        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="50dp"
            android:layout_alignParentBottom="true"
            android:background="#AA000000">
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Medeu"
                android:id="@+id/place_id"
                android:layout_marginLeft="20dp"
                android:layout_marginTop="2dp"
                android:textSize="18sp"
                android:textColor="@color/colorWhite"/>
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Almaty region"
                android:textColor="@color/colorPrimary"
                android:layout_marginLeft="20dp"
                android:layout_below="@+id/place_id"
                android:textSize="12sp"
                android:id="@+id/place_id_sub"

                />
        </RelativeLayout>
    </RelativeLayout>

谢谢!

1 个答案:

答案 0 :(得分:5)

您可以做的是,实际上使用GradientDrawable作为RelativeLayout举行TextView的背景。

渐变看起来像这样:

<强> my_custom_drawable.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <gradient
        android:angle="90"
        android:endColor="@android:color/transparent"
        android:startColor="@android:color/black" />
</shape>

然后用渐变替换RelativeLayout的backgroundcolor,如下所示:

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="50dp"
    android:layout_alignParentBottom="true"
    android:background="@drawable/my_custom_gradient.xml">

这将导致:

Gradient

您需要使用GradientDrawable中的颜色,以使其符合您的需要。我无法告诉你哪种颜色适合你的需要。

您还可以添加centerColor - 有关更多属性,请参阅documentation

我可能会将字幕文本颜色更改为与标题文本颜色相同的颜色。