Android TextView Text不会包装在Listview上

时间:2017-01-10 03:35:32

标签: android listview android-xml

你好我试图包装一个长文本的textview。但是当我测试它时,它只是超出了屏幕。我试图做的是,如果文本很长,它会自动调整布局,它将转到下一行。我在列表视图中使用它。

我指的是这个老问题Android TextView Text not getting wrapped,它适用于他,所以我试图实现它,但它不会影响我的。谢谢你回答。

这是我的 XML

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    android:background="#e6e6e6"
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:padding="10dp">

    <LinearLayout
        android:layout_width="wrap_content" android:layout_height="wrap_content"
        android:orientation="vertical" android:padding="4dip"
        android:layout_weight="1">

        <TextView
            android:id="@+id/tv_reviewer_name"
            android:textSize="16sp"
            android:textAppearance="?android:textAppearanceLarge"
            android:text="Reviewer Name"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />

        <TextView
            android:layout_marginTop="5dp"
            android:id="@+id/tv_review_details"
            android:textSize="16sp"
            android:textAppearance="?android:textAppearanceSmall"
            android:text="Review"
            android:layout_height="wrap_content"
            android:layout_width="match_parent"
            android:width="0dip"/>

    </LinearLayout>



</LinearLayout>

更新

这是我的列表视图:

<ListView
            android:divider="@android:color/transparent"
            android:dividerHeight="2.0sp"
            android:id="@+id/lv_reviews"
            android:background="#f2f2f2"
            android:layout_width="match_parent"
            android:layout_height="match_parent"/>

4 个答案:

答案 0 :(得分:0)

您可以使用inputType自动管理多行文字。

    <TextView
        android:layout_marginTop="5dp"
        android:id="@+id/tv_review_details"
        android:textSize="16sp"
        android:textAppearance="?android:textAppearanceSmall"
        android:text="Review"
        android:layout_height="wrap_content"
        android:layout_width="match_parent"
        android:width="0dip"
        android:inputType="textMultiLine"
   />

答案 1 :(得分:0)

如果我使用listView或recyclerView,我将布局宽度与父级匹配,如下所述:

<LinearLayout
           <!--change to match_parent-->
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical" android:padding="4dip"
            android:layout_weight="1">
尝试一次,希望这会对你有帮助。

答案 2 :(得分:0)

问题解决了。当我运行我的应用程序时,事实证明android studio没有更新我的更改。我卸载了应用程序,然后再次运行它,它完美地工作。

答案 3 :(得分:0)

当您在垂直方向使用重力时,必须使用layout_height = 0dp&amp;当您在水平方向使用重力时,您必须为线性布局的每个子项使用layout_width = 0dp,以便它可以自行调整布局大小

<LinearLayout
    android:background="#e6e6e6"
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:padding="10dp">

    <LinearLayout
        android:layout_width="wrap_content" android:layout_height="wrap_content"
        android:orientation="vertical" android:padding="4dip"
        android:layout_weight="1">

        <TextView
            android:id="@+id/tv_reviewer_name"
            android:textSize="16sp"
            android:textAppearance="?android:textAppearanceLarge"
            android:text="Reviewer Name"
            android:layout_width="wrap_content"
            android:layout_height="0dp" />

        <TextView
            android:layout_marginTop="5dp"
            android:id="@+id/tv_review_details"
            android:textSize="16sp"
            android:textAppearance="?android:textAppearanceSmall"
            android:text="Review"
            android:layout_height="0dp"
            android:layout_width="match_parent"/>

    </LinearLayout>



</LinearLayout>