我怎么能用xml在Android上复制这个View?

时间:2016-06-30 18:26:00

标签: android xml image view android-imageview

我正在尝试复制链接ListView的一行,但是在android。

这是我当前的行代码:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="match_parent"
    android:layout_height="match_parent">

    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:id="@+id/venueImage"
        android:layout_alignParentRight="true"
        android:layout_alignParentEnd="true" />

    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:id="@+id/venueLogo"
        android:layout_alignLeft="@id/venueImage"
        android:layout_alignTop="@id/venueImage"
        android:layout_alignRight="@id/venueImage"
        android:layout_alignBottom="@id/venueImage"/>

    <TextView
        android:text="TextView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/venueName"
        android:layout_centerHorizontal="true"
        android:layout_alignLeft="@id/venueImage"
        android:layout_alignTop="@id/venueImage"
        android:layout_alignRight="@id/venueImage"
        android:layout_alignBottom="@id/venueImage"
        android:gravity="center"
        android:textColor="#ffffff"/>

</RelativeLayout>

这就是我需要的样子。

enter image description here

如何将图像放在另一个图像上,将标题正好设置在imageView的中间,并使另一个图像视图圆形并定位到右下角? venueImage是背景(视图上的最大图像)。 venueLogo是圆形的小点。

感谢阅读。

3 个答案:

答案 0 :(得分:1)

将所有内容保存在b内,然后将RelativeLayout高度和宽度设置为venueImage,为标题创建match_parent并将其设置为TextView {/ 1}}和Center以及android:layout_centerInParent="true"到您的圆形图片。

修改:

这应该在您的RelativeLayout

android:layout_alignParentBottom="true"

它看起来应该是这样的

figure 1

答案 1 :(得分:1)

请参阅下面的示例,其中有3个文本视图完全按照您的要求显示。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="match_parent"
    android:layout_height="match_parent">
    <TextView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_alignParentTop="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:id="@+id/venueImage"
        android:layout_alignParentRight="true"
        android:layout_alignParentEnd="true"
        android:background="#000000"/>
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:id="@+id/venueLogo"
        android:text="venue logo"
        android:layout_alignParentRight="true"
        android:layout_alignParentEnd="true"
        android:layout_alignParentBottom="true"
        android:background="#FF0000"/>
    <TextView
        android:text="venue name"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/venueName"
        android:layout_centerHorizontal="true"
        android:layout_alignLeft="@id/venueImage"
        android:layout_alignStart="@id/venueImage"
        android:layout_alignTop="@id/venueImage"
        android:layout_alignRight="@id/venueImage"
        android:layout_alignEnd="@id/venueImage"
        android:layout_alignBottom="@id/venueImage"
        android:layout_centerInParent="true"
        android:gravity="center"
        android:textColor="#ffffff"
        android:padding="20dp"/>
</RelativeLayout>

希望这有帮助。

答案 2 :(得分:0)