【问题标题】:Change TextSize with a spinner使用微调器更改 TextSize
【发布时间】:2018-07-17 03:36:49
【问题描述】:

我设法用微调器更改了某个文本的颜色。但现在我想用另一个微调器更改相同文本的大小。我将颜色案例放在开关函数中以更改颜色。

这样

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... 总是很难解释我的问题^^ 抱歉。

【问题讨论】:

  • 您可以为文本大小创建自己的 IntDef(或只是普通常量),类似于 Anroid 的颜色类为 Color 提供常量的方式。常量可以引用sp 中的数量,然后根据该整数值设置文本大小,例如textView.setTextSize(TypedValue.COMPLEX_UNIT_SP, MY_CONST_SIZE);
  • 我明天试试 :) 谢谢你的回答
  • 我现在试过了,但无法正常工作。你的意思是:preferences2.edit().putInt(textView.setTextSize(TypedValue.COMPLEX_UNIT_SP, MY_CONST_SIZE)) ?
  • 哦不,我的意思是把MY_CONST_SIZE 放在首选项中,然后在您从共享首选项中检索值时设置TextView 的文本大小。我假设这就是你对颜色所做的......对吗?将微调器选择存储在共享首选项中,然后检索共享首选项中的颜色并使用它来设置TextView的颜色?
  • 是的,我想在另一个活动中编辑文本大小。但我想我不明白你的做法:/

标签: java android android-spinner text-size


【解决方案1】:

如果您想使用共享首选项和 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 的活动中(在本例中名为textViewToChange),检索保存的值,并使用它来设置文本大小:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-08
    • 2019-06-23
    • 1970-01-01
    • 2023-03-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多