使用微调器更改 TextSize
Change TextSize with a spinner
我设法用微调器改变了某个文本的颜色。但现在我想用另一个微调器更改相同文本的大小。我把颜色盒放在一个开关函数中来改变颜色。
那样
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;
我都写下来了,但是不知道怎么调用case里面的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);
我设法用微调器改变了某个文本的颜色。但现在我想用另一个微调器更改相同文本的大小。我把颜色盒放在一个开关函数中来改变颜色。
那样
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;
我都写下来了,但是不知道怎么调用case里面的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);