4

我有一个带有几个按钮的布局,这些按钮使用权重属性占用整个布局的空间。每个按钮上都有一些固定大小的文本,由 android:textSize="30dp" 设置,因此在小型移动设备(手机)的屏幕大小上,如果大约是按钮的大小,则文本的大小。但在大型设备(平板电脑)上,按钮大小会扩大,但文本大小保持不变(30dp)。

我希望在每个分辨率下都保持按钮大小和文本大小比例,可以使用布局 XML 代码来完成吗?我想避免以编程方式进行。

4

3 回答 3

7

解决方法很简单

您应该使用每个密度/尺寸具有不同尺寸的 dimension.xml 并将其放置在:

  • 价值观-mdpi
  • 价值观-hdpi
  • 价值观-xhdpi
  • values-large(5.1' 5.4' y nexus7 平板电脑/手机)
  • values-xlarge(更大的平板电脑)

您也可以使用 values-sw600dp (nexus 7) 和 values-sw720dp(10')。

啊! 并将 sp 用于文本,而不是 dp。SP 为所有字体设置相同的大小。始终使用 SP 的文本

请记住,您总是可以为许多单独的配置创建值/drawables/resources:风景portrati、语言、大小、密度、夜晚或白天、android 版本......并且您可以合并它!

http://developer.android.com/intl/es/guide/topics/resources/providing-resources.html#SmallestScreenWidthQualifier

于 2012-09-28T09:50:25.337 回答
1

应该sp在 dp 中提到文本大小,而不是像这样尝试

 android:textSize="30sp"

文本的大小。推荐的文本尺寸类型是"sp"for scaled-pixels

于 2012-09-28T09:49:59.630 回答
0

为选项卡和手机制作不同的 xml 布局文件,然后尝试这个按钮

android:textAppearance="@android:style/TextAppearance.DeviceDefault.Large" 
于 2018-08-27T15:35:17.903 回答