0

在我的布局中,有 3 个按钮使用权重水平等分。现在我在按钮上设置自定义字体 Roboto。

问题是如何根据分辨率和 dpi 计算字体的大小,以便它在所有尺寸的 android 设备上看起来都合适。

4

2 回答 2

2

选项 #1:在 中指定字体大小sp,其中考虑了密度和用户请求的字体缩放。

选项 #2:在 中指定字体大小dp,其中考虑了密度,但忽略了用户请求的字体缩放。

选项#3:使用from 的逻辑AutoScaleTextView来创建一个AutoScaleButton更改其字体大小以适应可用空间的逻辑(即使这意味着每个按钮将具有不同的字体大小)

选项#4:扩展选项#3,让一组AutoScaleButton实例在它们之间协商一个共同的字体大小,选择适合所有三个按钮的最小的那个,以便字体大小相同(即使文本可能不会填充两个三个按钮,具体取决于字符的标题长度等)。

于 2013-08-30T11:50:00.193 回答
0

为所有 dpi 取尺寸变量

<dimen name="detail_photo_size">80sp</dimen>

在 values-hdpi,values-ldpi,values-mdpi 中,然后使用如下:

txtballoon_item_title
.setTextSize(getResources().getDimension(R.dimen.detail_photo_size));
于 2013-08-30T12:53:48.077 回答