这是布局:
<?xml version="1.0" encoding="utf-8"?>
<GridLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:columnCount="2"
android:rowCount="2"
android:rowOrderPreserved="true"
android:alignmentMode="alignMargins">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_row="0"
android:layout_column="0"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="Test:" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_row="0"
android:layout_column="1"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="too long line too long line too long line too long line" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="Test2:"
android:paddingRight="10dp"
android:layout_row="1"
android:layout_column="0" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_row="1"
android:layout_column="1"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="Test line" />
</GridLayout>
以下是发生的事情的截图:
如何阻止第二个TextView(屏幕截图中选择的那个)超越屏幕边界?
答案 0 :(得分:7)
您可以通过为每个textview提供match_parent的宽度和适当的layout_weight来避免所有这些。以下代码将为您提供所需的确切内容。享受!
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="3"
android:text="Test 1"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="line too long line too long line too long line too long line too long "/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="3"
android:text="Test 2"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="line too long line too long line too long line too long line too long "/>
</LinearLayout>
</LinearLayout>
答案 1 :(得分:5)
答案很简单。只需3行XML代码。 在textview中,放置以下行:
<TextView
android:layout_width = "match_parent"
android:layout_height = "wrap_content"
android:width = "0dp"/>
答案 2 :(得分:1)
这是因为你的textView宽度是wrap_content。所以意味着如果你的文字太长,那么它将不在屏幕之外。更好的方法是将其设置为 match_parent 。
如果时间太长,可以设置 MaxLines 。