如何在 android 中动态更改 EditText 小部件的文本大小?

Posted

技术标签:

【中文标题】如何在 android 中动态更改 EditText 小部件的文本大小?【英文标题】:How to change text size of EditText widget dynamically in android? 【发布时间】:2011-09-13 17:08:50 【问题描述】:

我想在输入文本时更改 EditText 的文本大小。这意味着最初文本很大,但是当用户输入文本(增加文本长度)时,文本的大小应该逐渐减小。 EditText 小部件是否有任何内置样式或主题可以自动调整 EditText 中的文本大小?

【问题讨论】:

我不了解你,但对我来说,具有这种功能的应用程序使用起来会很烦人/令人困惑。不要让用户感到惊讶。 【参考方案1】:

我猜你可以试试这个方法:setTextAppearance(Context context, int resid)

该方法帮助您从指定的TextAppearance 资源中设置文本颜色、大小、样式、提示颜色和突出显示颜色。

(或)

setTextSize(float size)

将默认文本大小设置为给定值,解释为“缩放像素”单位。

(或)

setTextSize(int unit, float size)

将默认文本大小设置为给定的单位和值。

【讨论】:

【参考方案2】:

您可以对每次文本更改时更新的文本应用跨度。 TextAppearanceSpan 将允许您更改文本大小。

不过,我会赞同 Gabriel Negut 的评论。您正在尝试做的事情是 ios 上的标准,但对您的 android 用户来说是陌生的。您的应用程序的行为方式应始终与其在操作系统中其他地方的习惯一致,并且试图让您的应用程序的行为方式像 iOS 应用程序只会让您的用户感到困惑。

【讨论】:

以上是关于如何在 android 中动态更改 EditText 小部件的文本大小?的主要内容,如果未能解决你的问题,请参考以下文章

如何将图像从画廊插入到 EditTex 视图?

如何在 Android 中动态更改菜单项文本

如何在Android中动态更改文本大小

如何在 Android O 中动态更改通知声音

如何在运行时更改动态添加的 Android 视图中的数据

如何在 android 中动态更改 EditText 小部件的文本大小?