首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >TextView自动调整大小不起作用(Android O)

TextView自动调整大小不起作用(Android O)
EN

Stack Overflow用户
提问于 2017-05-23 00:35:49
回答 8查看 34.3K关注 0票数 51

我使用的是支持库26中新增的自动调整大小功能。我阅读了一个文档,可以在这里找到:https://developer.android.com/preview/features/autosizing-textview.html

我认为它应该是这样工作的:您可以使用以下属性启用自动调整大小:app:autoSizeTextType="uniform"。我认为TextView应该使用所有可用的空间来显示整个文本(而不仅仅是一部分--它不应该被裁剪),并且textSize应该尽可能大。如果您需要限制文本的最大或最小大小,则可以使用以下两个属性:

代码语言:javascript
运行
复制
app:autoSizeMinTextSize="XXsp" // (you can also use px or dp values.)

代码语言:javascript
运行
复制
app:autoSizeMaxTextSize="XXsp"

到目前一切尚好。假设我需要一个56dp宽度的TextView。我有不同长度的文本,我想将这些文本设置为此TextView。它应该自动调整大小,以便在尽可能大的textSize中显示整个文本(所有字符+不裁剪)。

这是我的TextView:

代码语言:javascript
运行
复制
<android.support.v7.widget.AppCompatTextView
        android:id="@+id/vName"
        style="@style/TextView.AutoSize"
        android:layout_width="56dp"
        android:gravity="bottom|center_horizontal"
        android:maxLines="1"
        app:autoSizeMinTextSize="1px"
        app:autoSizeTextType="uniform"
        app:layout_constraintBottom_toTopOf="@id/vGuideline"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent" />

不幸的是,文本视图被裁剪了。我想将此字符串设置为上述TextView的文本:"Groupa“,但结果如下:

(TextView位于ConstraintLayout内部,背景为黄色圆圈。)

正如您所看到的,文本视图根本没有调整大小。你知道该怎么做吗?

谢谢。

EN

回答 8

Stack Overflow用户

发布于 2018-02-12 21:38:17

除了其他正确的答案之外,我还发现了另一个阻止自动调整大小的问题。

请勿将android:singleLine="true"与自动调整大小一起使用。请改用较新的android:maxLines="1"

票数 56
EN

Stack Overflow用户

发布于 2017-08-09 22:42:55

我也有同样的问题。我通过修改gradle中的两行代码解决了这个问题:compile 'com.android.support:support-v4:26.0.1'compile 'com.android.support:appcompat-v7:26.0.1',为了适应更长的文本,你必须添加所有四个选项,如下所示:

代码语言:javascript
运行
复制
<android.support.v7.widget.AppCompatTextView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:text="@string/your_string"
        app:autoSizeTextType="uniform"
        app:autoSizeMaxTextSize="13sp"
        app:autoSizeMinTextSize="5sp"
        app:autoSizeStepGranularity="1sp"/>
票数 10
EN

Stack Overflow用户

发布于 2018-02-15 08:24:25

在我的例子中,有一些非常愚蠢的问题:虽然自动调整大小对我来说总是很好,但在恰好有一个TextView上,我使用了android:名称空间而不是app:!我完全忘记了我的错误,一直在想为什么它不起作用。因此,在使用AppCompat主题时,请始终确保使用AppCompat属性,而不是本机属性。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44118002

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档