在我的最后一个活动中,我得到了一个 textView,如果它太大,它就会保持相同的大小并转到下一行。有没有办法让我的 textView 缩小,如果它太大,它可以放在一条线上?
所以而不是:
ABCDEFGHIJ(两行大字体)
HIJK
我想:
abcdefghijk(一行小字体)
所以这一切都适合从左到右在 fone 内的一条线上
如果您想在 TextView 上自动调整大小,请使用:
<TextView
android:layout_width="60dp"
android:layout_height="48dp"
android:lines="2"
android:text="Hello world"
android:autoSizeTextType="uniform"/>
非常重要的是不要使用 android:singleLine="true" 因为它已被弃用。Ans 有一个固定的大小,以便文本的自动调整大小将正常工作。你也可以选择你想要的行数。
另请注意,最小尺寸为 12sp,最大尺寸为 112sp,粒度为 1px。但是如果你想自定义这些尺寸,你可以使用:
android:autoSizeMinTextSize="8sp"
android:autoSizeMaxTextSize="100sp"
android:autoSizeStepGranularity="2sp"
您可以添加到上面的 xml 中。
android:singleLine="true" 文本视图中的这个属性会有所帮助,它不会减小文本的大小,但允许在单行中显示文本。
这是自定义 View 子类的工作。创建 View 子类非常容易,在这种情况下,您只需要重写 onDraw 方法,因为您不需要实现任何特殊的用户交互。基本上以参考点大小测量文本的宽度,然后根据绘制文本的大小选择缩放的点大小。
1)将 android:lines="1" 放入您的
文本视图 2)如果您想在行尾添加 3 个点,则将 android:ellipsize="end" 放入您的文本视图
注意:
不要使用 android:singleLine="true",因为它现在已被弃用。