java - 更改字体大小时遇到​​问题

标签 java android

大家好, 我试图让我的用户通过按下操作栏中的按钮来更改我 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/

相关文章:

java - 枚举子集的空间复杂度是多少?

java - 如何修复gradle错误?

android-如何使用CursorAdapter填充listView并回收

java - Android 应用程序 - 可以修改 Constants.java 中的字符串吗?

java - 在Java中从文件中读取数字/整数

java - 如何在JAVA中打印引用内容?

android - 长按 EditText 崩溃 : Unable to add window

android - 将数组中的值添加到 XY 系列

java - Sqlite 查询返回 mRowIdColumnIndex 为 -1

Java - 使用对象和 toString 方法格式化字符串以显示井号和带有两个前导零的小数?