TextView
以下是我通过尝试将 a 强制为单行(有和没有三个点)的各种选项而学到的。
安卓: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" />
这只是将文本强制为一行。任何额外的文本都被隐藏。
有关的:
椭圆形=“结束”
<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" />
这会切断不适合的文本,但通过添加省略号(三个点)让用户知道文本已被截断。
有关的:
椭圆尺寸=“选框”
<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
,取出并不影响它。
有关的:
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>
这允许用户手动滚动查看整行文本。