以下是我通过TextView
尝试各种将a 强制为单行(带有和不带有三个点)的选项而学到的。
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" />
这只是将文本强制为一行。隐藏任何多余的文本。
有关:
ellipsize =“ end”
<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 =“ marquee”
<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"
应该做基本上相同的事情,并且由于单行显然已被弃用,所以我宁愿不使用它,但是当我将其取出时,选取框不再滚动。服用maxLines
出并不影响它,但。
有关:
HorizontalScrollView与scrollHorizontally
<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>
这允许用户手动滚动以查看整个文本行。