随着文本视图变长,如何减小数字的文本大小(以显示整个数字)?

劳纳克·沙(Raunaq Shah)

我看到了其他与这个问题非常相似的答案。但是,我希望计算器的显示屏显示正常数字,直到13位数字,然后在添加第14位数字时,开始以科学计数法显示。另外,我希望文本的大小减小,因为数字越过6位(就像在电话上使用的计算器之一一样)。

123456(最大文字大小)

1234567(文本大小减少一个单位)

12345678(文本大小减少一个单位)

123456789(文本大小减少一个单位)

1234567890(文本大小减少一个单位)

12345678901(文本大小进一步减小了单位,以适合显示textview上的所有数字)

1234567890123(文本大小一直减小到13位-这是最小文本大小,因此无法进一步减小)

当再加上一位数字时:1.2345678901234×10 ^ 12(以科学计数形式显示的数字)

我无法弄清楚在应用程序运行时如何更改文本大小以及如何以科学计数法显示数字-仅在数字超过13位之后。

谢谢。

加布·塞尚(Gabe Sechan)

我将创建一个称为ScientificNotationTextView的TextView子类。然后像这样覆盖setText函数:

public void setText(CharSequence text) {
    int length = text.size();
    setTextSize(getSizeForLength(length));
    if(length > 13) {
        NumberFormat formatter = new DecimalFormat("0.#####E0");
        super.setText(formatter.format(text.toString());
    }
    else {
        super.setText(text);
    }
}

在这里,getSizeForLength应该返回要用于该长度的任何文本大小。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

将文本转换为小数字 javascript

如何居中对齐Material-ui TextField文本并设置最小数字值?

如何单击高图中的小数字

如何删除数组中的最小数字,如果有多个最小数字,请删除第一个数字

在使用MouseDown时,请先缓慢减小数字,然后增加减小速度(jQuery)

如何使用while循环功能区分python列表中的大小数字?

如何在图表 js 工具提示中显示小数字?

显示为“n”、“p”或“f”的小数字

n的数字乘积的最小数字

数字格式以显示文本

如何计算ArrayList中的最小数字?

如何找到给定行中的最小数字?

如何根据用户输入查找最小数字-Java

如何找到一个对象的最小数字

如何获得 Common Lisp 中最小数字和第二小数字之间的范围?

如何限制文本字段只能输入数字和小数?

从用户输入的数字中显示最大和最小数字 C++

如何比较 7 个数字列,获取它们之间的最小数字并从 R 中的字符变量中插入值?

查找数字乘以给定数字的最小数字

如何使Silverlight中的XAML文本框仅接受最大小数点后一位精度的数字

小数字段无法更新值

给定列的最小数字

第k个最小数字

如何在C中找到数字中的最小数字及其在向量中的位置?

如何在智能表中按小数字到大数字排序?

如何正确获得数字序列中的最大和最小数字?

SSRS:显示文本而不是数字

如何在保留小数的同时将整个数据框转换为数字?

Android 如何根据屏幕大小(而不是密度)减小文本大小