繁体   English   中英

防止TextView和ImageView在相对布局中重叠

[英]Preventing TextView and ImageView Overlap In Relative Layout

我有一个titleTvtitleTv )和titleTvbuyButton ),如果titleTv名称有点长,有时会重叠。

如何预防? 我知道可以使用外部库完成此操作-但似乎没有一种简单的方法可以完成此操作,这很奇怪。

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    android:paddingBottom="7dip"
    android:paddingTop="7dip" >

    <TextView
        android:id="@+id/titleTv"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@color/white"
        android:paddingLeft="5dp"
        android:text=""
        android:textSize="20sp" />

    <TextView
        android:id="@+id/uploaderTv"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/titleTv"
        android:paddingLeft="5dip"
        android:paddingTop="5dp"
        android:textColor="@color/verylightgrey"
        android:textSize="16sp" />

    <TextView
        android:id="@+id/viewCountTv"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/titleTv"
        android:layout_toRightOf="@id/uploaderTv"
        android:paddingTop="5dp"
        android:textColor="@android:color/black"
        android:textSize="16sp" />

    <ImageView
        android:id="@+id/buyButton"
        android:layout_width="45dp"
        android:layout_height="45dp"
        android:layout_alignParentRight="true"
        android:layout_centerVertical="true"
        android:adjustViewBounds="true"
        android:paddingTop="7dip"
        android:src="@drawable/buy_a_up_btn" />
</RelativeLayout>

例:

(重叠的字段是视频的标题和$按钮)

http://i.stack.imgur.com/clpNv.png

尝试这个:

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    android:paddingBottom="7dip"
    android:paddingTop="7dip" >

    <ImageView
        android:id="@+id/buyButton"
        android:layout_width="45dp"
        android:layout_height="45dp"
        android:layout_alignParentRight="true"
        android:layout_centerVertical="true"
        android:adjustViewBounds="true"
        android:paddingTop="7dip"
        android:src="@drawable/buy_a_up_btn" />

    <TextView
        android:id="@+id/titleTv"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_toLeftOf="@id/buyButton"
        android:background="@color/white"
        android:paddingLeft="5dp"
        android:text=""
        android:textSize="20sp" />

    <TextView
        android:id="@+id/uploaderTv"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/titleTv"
        android:paddingLeft="5dip"
        android:paddingTop="5dp"
        android:textColor="@color/verylightgrey"
        android:textSize="16sp" />

    <TextView
        android:id="@+id/viewCountTv"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/titleTv"
        android:layout_toRightOf="@id/uploaderTv"
        android:paddingTop="5dp"
        android:textColor="@android:color/black"
        android:textSize="16sp" />


</RelativeLayout>

只需将您的ImageView添加到该TextView之下。 在您的ImageView声明中添加此属性

android:layout_below="@+id/titleTv"

现在,xml应该是这样的:

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    android:paddingBottom="7dip"
    android:paddingTop="7dip" >

    <TextView
        android:id="@+id/titleTv"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@color/white"
        android:paddingLeft="5dp"
        android:text=""
        android:textSize="20sp" />

    <TextView
        android:id="@+id/uploaderTv"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/titleTv"
        android:paddingLeft="5dip"
        android:paddingTop="5dp"
        android:textColor="@color/verylightgrey"
        android:textSize="16sp" />

    <TextView
        android:id="@+id/viewCountTv"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/titleTv"
        android:layout_toRightOf="@id/uploaderTv"
        android:paddingTop="5dp"
        android:textColor="@android:color/black"
        android:textSize="16sp" />

    <ImageView
        android:id="@+id/buyButton"
        android:layout_width="45dp"
        android:layout_height="45dp"
        android:layout_below="@+id/titleTv"
        android:layout_alignParentRight="true"
        android:layout_centerVertical="true"
        android:adjustViewBounds="true"
        android:paddingTop="7dip"
        android:src="@drawable/buy_a_up_btn" />
</RelativeLayout>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM