当TextView1有多行时,Textview2不是showm

时间:2017-07-24 13:13:07

标签: android xml textview

当Textview1有多行时,我遇到了一些问题。

示例:textview1有一行,显示了textview2。

enter image description here

但是如果textview1有多行,则textview2不会显示,因为textview1已满。

enter image description here

我的.xml:

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

    <RelativeLayout
        android:layout_width="match_parent"
        android:padding="5dp"
        android:layout_height="match_parent">


        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="center_vertical"
            android:layout_marginTop="10dp">

            <ImageView
                android:layout_width="20dp"
                android:layout_height="20dp"
                android:id="@+id/img_vote"
                android:src="@drawable/vote_t_1"/>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="xxxxxxdfkldjsklfjsdxxxxxx"
                android:id="@+id/tx_poll"
                android:layout_marginLeft="10dp"
                android:layout_toRightOf="@+id/img_vote"/>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="ttt"
                android:id="@+id/tx_count_vote"
                android:gravity="center"
                android:textColor="@color/color_white"
                android:textSize="@dimen/tx_size_smally"
                android:paddingLeft="5dp"
                android:paddingRight="5dp"
                android:background="@drawable/bg_count_poll"
                android:layout_marginLeft="10dp"
                android:layout_toRightOf="@+id/tx_poll"/>

        </RelativeLayout>
    </RelativeLayout>

</RelativeLayout>

如何解决?

5 个答案:

答案 0 :(得分:3)

如果并排显示文本视图,则始终建议对文本视图使用权重= 1的线性布局。

试试这个:

<LinearLayout

    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center"   
    android:orientation="horizontal" >

    <TextView
        android:id="@+id/textViewprimary"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:gravity="center"
        android:text="abcd" />

<TextView
        android:id="@+id/textViewSecondary"
        android:layout_width="0dp"           
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:gravity="center"
        android:text="efgh" />
</LinearLayout>

答案 1 :(得分:0)

将您的textviews包装为tablerow。

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

    <RelativeLayout
        android:layout_width="match_parent"
        android:padding="5dp"
        android:layout_height="match_parent">


        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="center_vertical"
            android:layout_marginTop="10dp">

            <ImageView
                android:layout_width="20dp"
                android:layout_height="20dp"
                android:id="@+id/img_vote"
                android:src="@drawable/vote_t_1"/>

            <TableRow
            android:weightSum="1"
            android:layout_marginLeft="10dp"
            android:layout_toRightOf="@+id/img_vote"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" >

            <TextView
                android:layout_weight=".60" // here manage the weight/percentage
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:text="xxxxxxdfkldjsklfjsdxxxxxx"
                android:id="@+id/tx_poll"/>

            <TextView
                android:layout_weight=".40"// here manage the weight/percentage
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:text="ttt"
                android:id="@+id/tx_count_vote"
                android:gravity="center"
                android:textColor="@color/color_white"
                android:textSize="@dimen/tx_size_smally"
                android:background="@drawable/bg_count_poll"
                android:gravity="center"
                android:paddingLeft="5dp"
                android:paddingRight="5dp"/>

            </TableRow> 


        </RelativeLayout>
    </RelativeLayout>

</RelativeLayout>

答案 2 :(得分:0)

这样做

<?xml version="1.0" encoding="utf-8"?>

<RelativeLayout
    android:layout_width="match_parent"
    android:padding="5dp"
    android:layout_height="match_parent">


    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center_vertical"
        android:layout_marginTop="10dp"
        >

        <ImageView
            android:layout_width="20dp"
            android:layout_height="20dp"
            android:id="@+id/img_vote"
            android:src="@drawable/vote_t_1"/>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            android:layout_toRightOf="@+id/img_vote"
            android:weightSum="2">

        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="xxxxxxdfkldjsklfjsdxxxxxx"
            android:id="@+id/tx_poll"
            android:layout_marginLeft="10dp"
            android:layout_weight="1"/>

        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="ttt"
            android:id="@+id/tx_count_vote"
            android:textColor="@color/color_white"
            android:textSize="@dimen/tx_size_smally"
            android:paddingLeft="5dp"
            android:paddingRight="5dp"
            android:background="@drawable/bg_count_poll"
            android:layout_marginLeft="10dp"
            android:layout_weight="1"/>

        </LinearLayout>
    </RelativeLayout>
</RelativeLayout>

答案 3 :(得分:0)

那是因为你有android:layout_height="wrap_content&#34;在android:id="@+id/tx_poll"上。当有大量文字时,它会移动你的android:id="@+id/tx_count_vote"并变得不可见。

您有以下选择:

  1. tx_poll TextView添加固定大小。例如:android:layout_width="90dp"

  2. 将LinearLayout与layout_weight

  3. 一起使用
  4. 使用PercentRelativeLayout

答案 4 :(得分:0)

在tx_poll中设置属性android:layout_toLeftOf =“@ + id / tx_count_vote”,你也可以设置textView的maxLength以防止重叠和修复tx_poll textView的区域