如果其他textView太长,TextView会消失

时间:2018-03-08 13:32:58

标签: android layout textview alignment

我有问题...... 我有2个textViews,它们应该一个接一个地出现。如果第一个textView太长,则会出现问题,因为它会使另一个视图消失:

<RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="left|center"
        android:layout_marginRight="120dp"
        android:orientation="horizontal"
        android:paddingLeft="32dp">

        <TextView
            android:id="@+id/first_tv"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_marginBottom="16dp"
            android:layout_marginRight="8dp"
            android:layout_marginTop="16dp"
            android:ellipsize="middle"
            android:text="Here is the loooooong text" />

        <TextView
            android:id="@+id/second_tv"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="16dp"
            android:layout_toRightOf="@id/first_tv"
            android:fontFamily="sans-serif-medium"
            android:maxLines="1"
            android:text="Second text"/>

    </RelativeLayout>

我无法将一个textView左对齐,另一个右对齐,因为它们应该一个接一个地出现(如果第一个textView包含,例如,只有两个单词,第二个textView应该只是第一个视图的8dp) 。 我怎么能这样做,如果第一个textView很长,如果它到达布局宽度的末尾,则打破新行而不使第二个视图消失?

4 个答案:

答案 0 :(得分:0)

试试这个

val condition: String = "aa"
val fields = condition match {
    case "aa" => 2
    case "bb" => 3
    case "cc" => 4
}
var g = fields

答案 1 :(得分:0)

尝试使用以下代码:

enter image description here

代码:

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

    <TextView
        android:layout_weight="1"
        android:id="@+id/rowTitle"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:ellipsize="end"
        android:textColor="@color/colorPrimary"
        android:text="With Relative or Linear layouts when first TextView contains big text - second text simply disappeared from screen."
       />

    <TextView
        android:id="@+id/rowTitle2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textColor="@color/colorPrimary"
        android:text="TextView"
        />


</LinearLayout>

答案 2 :(得分:0)

试试:

<?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">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="10dp"
        android:orientation="horizontal">

        <TextView
            android:id="@+id/first_tv"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="Here is the loooooooooooooong text" />

        <TextView
            android:id="@+id/tv_odd_type_played"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:fontFamily="sans-serif-medium"
            android:maxLines="1"
            android:text="some text" />

    </LinearLayout>

</RelativeLayout>

答案 3 :(得分:0)

使用以下代码

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_height="wrap_content" 
        android:layout_width="match_parent" 
        android:orientation="horizontal">

            <TextView  
                android:layout_width="0dip" 
                android:layout_height="wrap_content"
                android:layout_weight=".5"
                android:gravity="right"
                android:layout_gravity="right">
            </TextView>

            <TextView  
                android:layout_width="0dip" 
                android:layout_height="wrap_content"
                android:layout_weight=".5"
                android:gravity="right"
                android:layout_gravity="right">
            </TextView>
    </LinearLayout>