使用微调器更改TextSize

时间:2018-02-06 23:45:45

标签: 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 ...总是有点难以解释我的问题^^ sry for that。

1 个答案:

答案 0 :(得分:1)

如果您想使用共享首选项和类似于您的颜色的开关语句,您可以执行类似以下操作:

在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的活动中(在此示例中,名为textViewToChange),检索已保存的值,并使用它来设置文本大小:

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