自动调整 TextView 的大小  

您所在的位置:网站首页 java设置控件大小 自动调整 TextView 的大小  

自动调整 TextView 的大小  

#自动调整 TextView 的大小  | 来源: 网络整理| 查看: 265

对于 Android 8.0(API 级别 26)及更高版本,您可以指示 TextView 允许自动扩展或收缩文字大小,以根据 TextView 的特征和边界填充其布局。利用此设置,您可以更轻松地优化包含动态内容的不同屏幕上的文字大小。

支持库 26.0 在搭载 Android 8.0(API 级别 26)以下 Android 版本的设备上完全支持 TextView 自动调整大小功能。该库为 Android 4.0(API 级别 14)及更高版本提供支持。android.support.v4.widget 软件包中包含 TextViewCompat 类,能以向后兼容的方式访问功能。

设置 TextView 自动调整大小

您可以使用框架库或支持库以编程方式或在 XML 中设置 TextView 的自动调整大小。如要设置 XML 属性,您还可以使用 Android Studio 中的 Properties 窗口。

您可以通过以下三种方式设置 TextView 的自动调整大小:

默认 粒度 预设尺寸

注意:如果您在 XML 文件中设置自动调整大小,则不建议对 TextView 的 layout_width 或 layout_height 属性使用值“wrap_content”,否则可能会产生意外结果。

默认

TextView 自动调整大小的默认设置是在水平和垂直轴上均匀缩放。

如要以编程方式定义默认设置,请调用 setAutoSizeTextTypeWithDefaults(int autoSizeTextType) 方法。提供 AUTO_SIZE_TEXT_TYPE_NONE 以关闭自动调整大小功能,或提供 AUTO_SIZE_TEXT_TYPE_UNIFORM 以在水平和垂直轴上均匀缩放。

注意:均匀缩放的默认尺寸为 minTextSize = 12sp、maxTextSize = 112sp 和 granularity = 1px.

如要在 XML 中定义默认设置,请使用 android 命名空间并将 autoSizeTextType 属性设置为 none 或 uniform。 使用支持库 如要通过支持库以编程方式定义默认设置,请调用 TextViewCompat.setAutoSizeTextTypeWithDefaults(TextView textview, int autoSizeTextType) 方法。提供 TextView 微件和某种文本类型(例如 TextViewCompat.AUTO_SIZE_TEXT_TYPE_NONE 或 TextViewCompat.AUTO_SIZE_TEXT_TYPE_UNIFORM)的实例。 如要通过支持库在 XML 中定义默认设置,请使用 app 命名空间并将 autoSizeTextType 属性设置为 none 或 uniform。 粒度

您可以定义最小和最大文字大小的范围,以及用于指定每步步长的尺寸。TextView 会在最小和最大大小属性之间的范围内均匀缩放。每次递增根据粒度属性中设置的步长进行。

如要以编程方式定义文字大小范围和尺寸,请调用 setAutoSizeTextTypeUniformWithConfiguration(int autoSizeMinTextSize, int autoSizeMaxTextSize, int autoSizeStepGranularity, int unit) 方法。提供最大值、最小值、粒度值以及任意 TypedValue 尺寸单位。 如要在 XML 中定义文字大小范围和尺寸,请使用 android 命名空间并设置以下属性: 将 autoSizeText 属性设置为 none 或 uniform。none 是默认值,而 uniform 可让 TextView 在水平和垂直轴上均匀缩放。 设置 autoSizeMinTextSize、autoSizeMaxTextSize 和 autoSizeStepGranularity 属性,用于定义 TextView 自动调整大小的尺寸。 使用支持库 如要通过支持库以编程方式定义文字大小范围和尺寸,请调用 TextViewCompat.setAutoSizeTextTypeUniformWithConfiguration(int autoSizeMinTextSize, int autoSizeMaxTextSize, int autoSizeStepGranularity, int unit) 方法。提供最大值、最小值、粒度值以及任意 TypedValue 尺寸单位。 如要通过支持库在 XML 中定义文字大小范围和尺寸,请使用 app 命名空间并在布局 XML 文件中设置 autoSizeText、autoSizeMinTextSize、autoSizeMaxTextSize 和 autoSizeStepGranularity 属性。 预设尺寸

通过预设尺寸,您可以指定 TextView 在自动调整文字大小时所选择的所有值。

如要使用预设尺寸以编程方式设置 TextView 的自动调整大小,请调用 setAutoSizeTextTypeUniformWithPresetSizes(int[] presetSizes, int unit) 方法。提供尺寸数组以及尺寸的任意 TypedValue 尺寸单位。 如要使用预设尺寸在 XML 中设置 TextView 的自动调整大小,请使用 android 命名空间并设置以下属性: 将 autoSizeText 属性设置为 none 或 uniform。none 是默认值,而 uniform 可让 TextView 在水平和垂直轴上均匀缩放。 将 autoSizePresetSizes 属性设置为预设尺寸数组。如要将该数组作为资源来访问,请在 res/values/arrays.xml 文件中定义该数组。 10sp 12sp 20sp 40sp 100sp 使用支持库 如要使用预设尺寸通过支持库以编程方式设置 TextView 的自动调整大小,请调用 TextViewCompat.setAutoSizeTextTypeUniformWithPresetSizes(TextView textView, int[] presetSizes, int unit) 方法。提供 TextView 类的实例、尺寸数组以及尺寸的任意 TypedValue 尺寸单位。 如要使用预设尺寸通过支持库在 XML 中设置 TextView 的自动调整大小,请使用 app 命名空间并在布局 XML 文件中设置 autoSizeText 和 autoSizePresetSizes 属性。 10sp 12sp 20sp 40sp 100sp 其他资源

如需详细了解如何在使用动态内容时自动调整 TextView 的大小,请观看自动调整 TextView 的大小。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3