Java 更改字体大小时遇到问题
大家好,, 我试图通过按下操作栏中的按钮,允许用户更改活动编辑文本中的字体大小(增加或减少)。我已经让字体大小增加工作,但出于某种原因,字体大小减少按钮使字体大小也增加 我附上(我认为是)相关代码。如果您需要查看其他代码,请告诉我Java 更改字体大小时遇到问题,java,android,Java,Android,大家好,, 我试图通过按下操作栏中的按钮,允许用户更改活动编辑文本中的字体大小(增加或减少)。我已经让字体大小增加工作,但出于某种原因,字体大小减少按钮使字体大小也增加 我附上(我认为是)相关代码。如果您需要查看其他代码,请告诉我 public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case R.id.TEXT_UP: doTe
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(整数单位,浮点大小)
根据您对问题的描述,我无法在您提供的代码中找到问题。我很确定,您的问题来自于过去的复制(我们程序员通常都很懒……当我们在过去复制时,经常会忘记更改变量名,最终导致这些问题)。查看按钮上的事件侦听器,看看您是否同时设置了项目大小写(text\u up)和(text\u down)。getTextSize()以像素为单位获取大小,因此递减1不会产生任何影响(对于许多设备而言)。尝试以更大的幅度递减,或使用不同的度量值!如果这不是问题,请先告诉我,然后我们可以调查一下。