在android中减去浮动给我更大的数字

发布于 2024-12-23 02:56:45 字数 417 浏览 4 评论 0原文

我无法弄清楚这一点,但我似乎无法让 android 与简单的数学合作。我创建了一个 ZoomControls 来更改 TextView 的文本大小。看起来很简单。我增大字体大小没问题。由于某种奇怪的原因,减去只是加上它。

zoom.setOnZoomOutClickListener(new View.OnClickListener() {
    public void onClick(View v) {
       float val = songtext.getTextSize();
       float test = (val - 1);
       songtext.setTextSize(test);
    }
});

从这个简单的代码来看,每次按下按钮时字体大小都应该减 1。相反,它会增加 1。???我正在扯掉我的头发。

I cannot figure this one out, but I cannot seem to get android to ever cooperate with simple math. I have created a ZoomControls that changes text size of a TextView. Seems simple. I increase the font size no problem. Subtracting just adds it for some weird reason.

zoom.setOnZoomOutClickListener(new View.OnClickListener() {
    public void onClick(View v) {
       float val = songtext.getTextSize();
       float test = (val - 1);
       songtext.setTextSize(test);
    }
});

Judging by this simple code, the font size should be subtracted by 1 everytime the button is pressed. Instead it increases by 1. ??? I am ripping my hair out.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

时光清浅 2024-12-30 02:56:45

这里的区别在于,在setTextSize(int size)方法中,
单位类型默认为“sp”或“缩放像素”。该值将是
每种屏幕密度(ldpi、mdpi、hdpi)都有不同的像素尺寸。

另一方面,getTextSize() 返回实际的像素尺寸
文本的内容。

您可以使用 setTextSize(int unit, int size) 指定单位类型。
该值可以在 TypedValue 类中找到,但其中一些
他们是:

TypedValue.COMPLEX_UNIT_PX:像素

TypedValue.COMPLEX_UNIT_SP:缩放像素

TypedValue.COMPLEX_UNIT_DIP:设备独立像素

所述TextView.setTextSize 行为异常 - 如何设置文本大小kcoppock 为不同屏幕动态地添加 textview

我只是使用了以下内容:

textView.setTextSize(TypedValue.COMPLEX_UNIT_PX,size +increaseTextBy);

The difference here is that in the setTextSize(int size) method, the
unit type by default is "sp" or "scaled pixels". This value will be a
different pixel dimension for each screen density (ldpi, mdpi, hdpi).

getTextSize(), on the other hand, returns the actual pixel dimensions
of the text.

You can use setTextSize(int unit, int size) to specify a unit type.
The values for this can be found in the TypedValue class, but some of
them are:

TypedValue.COMPLEX_UNIT_PX : Pixels

TypedValue.COMPLEX_UNIT_SP : Scaled Pixels

TypedValue.COMPLEX_UNIT_DIP : Device Independent Pixels

As explained at TextView.setTextSize behaves abnormally - How to set text size of textview dynamically for different screens by kcoppock

I simply used the below:

textView.setTextSize(TypedValue.COMPLEX_UNIT_PX,size + increaseTextBy);

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文