java - 使用微调器更改 TextSize

标签 java android android-spinner text-size

我设法使用微调器更改特定文本的颜色。但现在我想用另一个微调器更改相同文本的大小。我将颜色盒放入开关函数中以更改颜色。

像这样

switch (i) {
                case 0:
                    description.setText(des[i]);
                    preferences.edit().putInt(SELECTED_COLOR, Color.WHITE).apply();
                    break;
                case 1:
                    description.setText(des[i]);
                    preferences.edit().putInt(SELECTED_COLOR, Color.BLUE).apply();
                    break;

我都写下来了,但我不知道如何调用案例中的 TextSize。 我认为它会像这样工作:

 switch (d) {
                case 0:
                    description2.setText(des2[d]);
                    preferences2.edit().putInt(SELECTED_SIZE, ????); <==
            }
        }

但我不能使用 TextSize 或类似的东西。 要更改颜色,我使用了 Color.BLUE/RED/GREEN/... 但现在我想更改 TextSize... 解释我的问题总是有点困难^^ 抱歉。

最佳答案

如果您想使用共享首选项和 switch 语句(就像对颜色所做的那样),您可以执行类似于以下操作的操作:

在 switch 语句中,与处理颜色的方式类似,将与所选微调器索引关联的文本大小添加到您的共享首选项中:

switch(i) {
    case 0:
        preferences.edit().putInt(SELECTED_SIZE, 16).apply();
        break;
    case 1:
        preferences.edit().putInt(SELECTED_SIZE, 18).apply();
        break;
    // other cases go here...
}

然后,在包含要更改其文本大小的 TextView 的 Activity (在本示例中名为 textViewToChange)中,检索保存的值并使用它设置文本大小:

SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context);
int selectedTextSize = preferences.getInt(SELECTED_SIZE, 0);
textViewToChange.setTextSize(TypedValue.COMPLEX_UNIT_SP, selectedTextSize);

关于java - 使用微调器更改 TextSize,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48653765/

相关文章:

java - 无法在 TextView 中获得双输出

java - 如何将 JSON 数组发送到另一个方法

java - Eclipse (Java) 中未找到源错误

java - 如何使用宏操作的关键监听器

Android ndk 问题 socket 和 std 问题

Android WifiLock 在 Android 上无法正常工作

java - 安装错误 : INSTALL_FAILED_INSUFFICIENT_STORAGE

android - 单击另一个项目/小部件展开/打开微调器?

android - Spinner onItemSelected 项目已被选中

java - Java中两个类共享静态变量