在我的应用中,我需要保留一个动作来更改字体大小。我正在尝试为文本大小(小,中和大)保留三组值。我应该如何在它们之间切换?我的想法是一次使用一组字体资源。
有关更多说明:
在Theme.AppCompat.DayNight.DarkActionBar中,要在夜间模式之间切换,我可以调用
AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES);
和
AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES);
在这里,每个人都将使用不同的资源值集来开启和关闭夜间模式。我正在寻找一种在不同字体大小之间切换的方法。任何帮助表示赞赏。
答案 0 :(得分:1)
在操作系统中内置了类似的东西。如果你去设置>辅助功能您会找到大文字切换或滑块以使文字更大(取决于手机)。只要您使用sp
作为字体大小(例如android:textSize="16sp"
),此功能就可以在您的应用中使用。
如果你要使用它,你必须记住该设置在手机设置中,我不认为你有办法改变它你的应用。它适用于所有应用程序,而不仅仅适用于您的应用程序,因此系统中的所有内容都会变得更大。这可能不是你所需要的。
否则,您可以尝试在应用中手动执行此操作。一种方法是创建具有不同字体大小的三个主题。然后,您可以根据自己保存的设置(例如Activity.onCreate()
)在SharedPreference
上的上下文中设置相应的主题。
但我不认为你可以在不同的资源子目录中保留不同的字体大小。 list of resource qualifiers是预定义的,我不认为有更改字体大小的内容。