1

我为放大和缩小按钮编写了这段代码;他们工作但使用了错误的算法。两个都变大了!?虽然我说增加平滑(每次点击只有 0.01f)但是点击它们的大小增加了大约 50%(它变得太大),这就是我的问题。

final TextView rbc = (TextView) findViewById(R.id.rbc);
rbc.setText(R.string.start);
sizeup.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View arg0) {
            float textsize = rbc.getTextSize();
            textsize += 0.05f;
            rbc.setTextSize(textsize);

        }
    });
    sizedown.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View arg0) {
            float textsize = rbc.getTextSize();
            textsize -= 0.05f;
            rbc.setTextSize(textsize);

        }
    });
4

1 回答 1

0

混合单位问题。默认方法 setTextSize(float) 假定您输入的是 sp 单位(缩放像素),而 getTextSize() 方法返回精确的像素大小。

你应该使用这个:

this.setTextSize(TypedValue.COMPLEX_UNIT_PX, size);

这将确保您使用相同的单位。

于 2013-08-30T02:05:02.883 回答