让用户更改字体大小

hel*_*ind 5 fonts android font-size android-fonts

在我的dimens.xml中我有:

<dimen name="text_small">16sp</dimen>
<dimen name="text_normal">18sp</dimen>
<dimen name="text_medium">20sp</dimen>
<dimen name="text_big">22sp</dimen>
Run Code Online (Sandbox Code Playgroud)

现在我想让用户在设置片段中选择字体大小。举例来说:

  1. 小-2sp
  2. 正常+0sp
  3. 中+2sp
  4. 大+4sp

例如,如果用户选择“大”,我希望字体大小为:

<dimen name="text_small">20sp</dimen>
<dimen name="text_normal">22sp</dimen>
<dimen name="text_medium">24sp</dimen>
<dimen name="text_big">26sp</dimen>
Run Code Online (Sandbox Code Playgroud)

有没有办法做类似的事情:

申请开始:

if (sizeUser.equals("Big")) {
    text_small=24sp
.....
}
Run Code Online (Sandbox Code Playgroud)

等等?

mat*_*red 0

你不需要使用dimens.xml. 相反,使用setTextSize

TextView tv = findViewById(R.id.textView);

if ("Big".equals(sizeUser) {
    tv.setTextSize(26);
}
Run Code Online (Sandbox Code Playgroud)