【发布时间】:2017-08-03 05:57:06
【问题描述】:
我正在为维度使用多支持值,我已经给出了这样的值 I have attached screen shot dimen folder please check this
我已经制作了像
这样的值文件夹value
dimen.xml
<dimen name="padding_1">1dp</dimen>
和
values-sw320dp-hdpi
dminen.xml
<dimen name="padding_1">what padding should I give</dimen>
values-sw320dp-xhdpi
dminen.xml
<dimen name="padding_1">what padding should I give</dimen>
values-sw320dp-xxhdpi
dminen.xml
<dimen name="padding_1">what padding should I give</dimen>
values-sw360dp
dminen.xml
<dimen name="padding_1">what padding should I give</dimen>
values-sw480dp
dminen.xml
<dimen name="padding_1">what padding should I give</dimen>
values-sw600dp
dminen.xml
<dimen name="padding_1">what padding should I give</dimen>
values-sw720dp
dminen.xml
<dimen name="padding_1">what padding should I give</dimen>
我的问题是我应该提供什么填充尺寸,以便我可以支持不同的不同设备,例如如何找到每个值文件夹的 1dp。
我已经浏览了这个链接 https://developer.android.com/training/basics/supporting-devices/screens.html
但不是很清楚。我也通过了Dimenify 插件,但没有得到明确的解决方案。
编辑 我想知道有没有办法在所有价值桶中放置确切的尺寸或 任何 dp 转换器,它可以为 android 中的所有值桶转换精确尺寸
【问题讨论】:
-
我建议你阅读官方文档的this part。并且您的尺寸应该根据它们的用途(例如“main_title_margin_top”)而不是它们的值来命名。除非您确实有问题或想要针对屏幕尺寸进行特定设计,否则您不需要创建与支持的屏幕尺寸一样多的 dimens.xml 文件。
-
@Eselfar 感谢您的回复,但我的问题是 android 中有任何工具可以转换所有值桶的维度,例如如果我在 values-sw320dp 中使用 1 dp,那么维度将在 value-sw480dp 中使用
-
这就是使用点像素(dp)而不是像素(px)的目的。它应该根据屏幕自动调整。如果您的屏幕 A 为 10 英寸和 1280x720 像素,而您的屏幕 B 为 5 英寸和 1920x1080 像素,则屏幕 A 上的 1 dp 将不同于屏幕 B。这就是为什么在大多数情况下您只需要指定一次所需的尺寸,然后由系统自动管理。平板电脑有时会出现问题,因为它们具有 sh*tty 比率,因此您必须为大屏幕创建其他 dimens.xml 文件。但仅此而已。我在之前评论中链接的页面上对此进行了解释。
标签: android xml layout multiscreen