不同屏幕上的Android字体大小

标签 android

我想为不同的屏幕尺寸使用不同的字体大小。

我读了这么多文章,但我不确定用法。为不同的屏幕尺寸使用不同的尺寸资源文件是正确的,如下面的代码:

res/values/dimens.xml
res/values-small/dimens.xml
res/values-normal/dimens.xml
res/values-xlarge/dimens.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
   <dimen name="text_size">18sp</dimen>
</resources>

<?xml version="1.0" encoding="utf-8"?>
<resources>
   <dimen name="text_size">24sp</dimen>
</resources>
...

我还读到正确的方法是使用 sp 作为字体大小,但这并不像我预期的那样适合不同屏幕尺寸的字体。

如果有,对每个尺寸使用不同的尺寸有什么缺点?

谢谢

最佳答案

最好的方法是为您希望支持的每个屏幕创建不同的布局资源。将每个布局放在指定屏幕宽度的单独文件夹中。例如,正常大小的布局放在 res/layout 文件夹中,7 英寸平板电脑(600 像素宽度)的布局资源将放在 res/layout-sw600dp 文件夹中。使资源名称相同,但相应地调整字体大小。

关于不同屏幕上的Android字体大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16287702/

相关文章:

android - android中删除 fragment 时如何解决非法状态异常

php - 如何在corona sdk应用程序中显示用户名

java - Android自定义布局在设计模式下的布局xml文件中遇到问题

Android 将用户的选择保存为收藏夹

android - ASmack - 从哪里获得 ChatManager?

android - 如果没有互联网可用,如何将 ContentView 设置为另一个 Fragment,如果连接可用,如何设置 Resume Fragment

android - 我的 Activity 没有打印 web 服务的结果,而是只写 "TextView"

java - 如何在android中实现回调?

java - Android Studio 无法识别导入语句

android - Fragments 和 Master-Detail Android