我有一个带有几个按钮的布局,这些按钮使用权重属性占用整个布局的空间。每个按钮上都有一些固定大小的文本,由 android:textSize="30dp" 设置,因此在小型移动设备(手机)的屏幕大小上,如果大约是按钮的大小,则文本的大小。但在大型设备(平板电脑)上,按钮大小会扩大,但文本大小保持不变(30dp)。
我希望在每个分辨率下都保持按钮大小和文本大小比例,可以使用布局 XML 代码来完成吗?我想避免以编程方式进行。
解决方法很简单
您应该使用每个密度/尺寸具有不同尺寸的 dimension.xml 并将其放置在:
您也可以使用 values-sw600dp (nexus 7) 和 values-sw720dp(10')。
啊! 并将 sp 用于文本,而不是 dp。SP 为所有字体设置相同的大小。始终使用 SP 的文本
请记住,您总是可以为许多单独的配置创建值/drawables/resources:风景portrati、语言、大小、密度、夜晚或白天、android 版本......并且您可以合并它!
应该sp
在 dp 中提到文本大小,而不是像这样尝试
android:textSize="30sp"
文本的大小。推荐的文本尺寸类型是"sp"
for scaled-pixels
。
为选项卡和手机制作不同的 xml 布局文件,然后尝试这个按钮
android:textAppearance="@android:style/TextAppearance.DeviceDefault.Large"