如何为所有屏幕尺寸创建自动文本尺寸?

时间:2019-01-21 10:44:28

标签: android

我用过

app:autoSizeTextType
app:autoSizeMaxTextSize 
app:autoSizeMinTextSize

属性和2个textview的给定属性相同,但文本大小根据其内容而有所不同。如果内容较小,则字体大小会增加;如果内容较大,则字体大小会减少。

app:autoSizeTextType
app:autoSizeMaxTextSize
app:autoSizeMinTextSize

4 个答案:

答案 0 :(得分:0)

Autosizing TextViews

  

在Android 8.0(API级别26)及更高版本中,您可以指示   TextView让文本大小自动扩大或缩小以填充   其布局基于TextView的特征和边界。   通过此设置,可以更轻松地优化不同文字的大小   带有动态内容的屏幕。

  • 您应设置静态 android:layout_height 值。
  • autoSizeText 属性设置为无或统一。没有一个是 默认值和统一让TextView在水平方向上均匀缩放 和垂直轴。
  • 设置 autoSizeMinTextSize autoSizeMaxTextSize autoSizeStepGranularity 属性来定义尺寸 自动调整TextView的大小。

您的XML将是

<TextView
    android:layout_width="match_parent"
    android:layout_height="200dp"
    android:autoSizeTextType="uniform"
    android:autoSizeMinTextSize="12sp"
    android:autoSizeMaxTextSize="100sp"
    android:autoSizeStepGranularity="2sp" />

答案 1 :(得分:0)

您可以使用此库,它可以轻松管理您的需求。

这是 Library

在XML中,您可以这样使用

<me.grantland.widget.AutofitTextView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:singleLine="true"
    android:maxLines="2"
    android:textSize="40sp"
    autofit:minTextSize="16sp"
    />

答案 2 :(得分:0)

每个样式的实现样式,只需为每个样式设置所需的样式。 例如,您可以继承Android平台的默认文本外观,并进行如下修改:

<style name="GreenText" parent="@android:style/TextAppearance">
    <item name="android:textColor">#00FF00</item>
</style>

并设置文本视图的样式

<TextView
    style="@style/GreenText"
    android:text="android:textColorPrimary"/>

答案 3 :(得分:0)

仅使用动态尺寸:

在app \ src \ main \ res中,您必须在以下文件夹中创建:

enter image description here

,然后在每个文件夹中创建dimens.xml(例如):

现在回到android studio:

enter image description here

在每个xml文件中添加以下代码:

    <dimen name="profile_image_siz">100dp</dimen>

正常

    <dimen name="profile_image_siz">120dp</dimen>

    <dimen name="profile_image_siz">170dp</dimen>

在xlarge中

    <dimen name="profile_image_siz">200dp</dimen>

并在视图android:layout_width="@dimen/profile_image_siz"

相关问题