大家好, 我试图让我的用户通过按下操作栏中的按钮来更改我 Activity 的 EditText 中的字体大小(增加或减少)。我已经让字体大小增加了,但由于某种原因,字体大小减小按钮也会使字体大小增加。
我附上(我认为是)相关代码。如果您需要查看任何其他代码,请告诉我。
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.TEXT_UP:
doTextUp();
break;
case R.id.TEXT_DOWN:
doTextDown();
break;
default:
return super.onOptionsItemSelected(item);
}
return false;
}
private void doTextDown() {
mBodyText = (EditText) findViewById(R.id.body);
float Textsize = mBodyText.getTextSize() - 1;
mBodyText.setTextSize(Textsize);
Toast.makeText(getApplicationContext(), "in the text down",Toast.LENGTH_SHORT).show();
}
private void doTextUp() {
mBodyText = (EditText) findViewById(R.id.body);
float Textsize = mBodyText.getTextSize() + 1;
mBodyText.setTextSize(Textsize);
Toast.makeText(getApplicationContext(), "in the text up",Toast.LENGTH_SHORT).show();
}
有什么建议吗?
最佳答案
尝试将两者都更改为:
mBodyText.setTextSize(TypedValue.COMPLEX_UNIT_PX, Textsize);
getTextSize()
返回像素大小,但 setTextSize(float size)
将其解释为“缩放像素”(sp) 单位。要指定像素,您需要使用 setTextSize (int unit, float size)
http://developer.android.com/reference/android/widget/TextView.html#getTextSize() http://developer.android.com/reference/android/widget/TextView.html#setTextSize(float)
关于java - 更改字体大小时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17568393/