你好我试图包装一个长文本的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"/>
答案 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>