以下是我通过使用各种选项来迫使TextView变为一行(带和不带三个点)。
android:maxLines=“1”
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:maxLines="1"
android:text="one two three four five six seven eight nine ten" />
这只是强制文本为一行。任何额外的文本都被隐藏。
相关:
android: maxLines
android:singleLine(注意这个和这个)
android:行
椭圆大小=“结束”
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:maxLines="1"
android:ellipsize="end"
android:text="one two three four five six seven eight nine ten" />
这将删除不合适的文本,但通过添加省略号(三个点)让用户知道文本已被截断。
相关:
ellipsize =“开始”(…aaabbbccc)
ellipsize =“中产”(aaa…ccc)
android:省略号,选项的意思
椭圆大小=“选框”
<TextView
android:id="@+id/MarqueeText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:maxLines="1"
android:singleLine="true"
android:ellipsize="marquee"
android:focusable="true"
android:focusableInTouchMode="true"
android:text="one two three four five six seven eight nine ten" />
这使得文本在TextView中自动滚动。注意,有时需要在代码中设置:
textView.setSelected(true);
据说android:maxLines="1"和android:singleLine="true"应该做基本上相同的事情,因为singleLine显然是不赞成的,我宁愿不使用它,但当我把它拿出来,字幕不再滚动。但是,去掉maxLines并不会影响它。
相关:
Android中的选框文本
HorizontalScrollView with scrollhorizontal
<HorizontalScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/horizontalScrollView">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:maxLines="1"
android:scrollHorizontally="true"
android:text="one two three four five six seven eight nine ten" />
</HorizontalScrollView>
这允许用户手动滚动以查看整行文本。