我为放大和缩小按钮编写了这段代码; 他们工作但算法错误。它们都增加了尺寸!?虽然我说顺利增加(每次点击仅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);
}
});
答案 0 :(得分:0)
混合单位问题。默认方法setTextSize(float)假设您输入sp单位(缩放像素),而getTextSize()方法返回精确像素大小。
你应该用这个:
this.setTextSize(TypedValue.COMPLEX_UNIT_PX, size);
这将确保您使用相同的单位。