2017-08-03 277 views
2

我使用的尺寸多支持度,我已经给定值这样 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

+0

我建议您阅读官方文档的[本部分](https://developer.android.com/guide/practices/screens_support.html)。 而且您的维度应根据其用途(例如“main_title_margin_top”)而不是它们的值命名。 除非您真的**有问题或需要针对屏幕尺寸的特定设计,否则不需要创建与支持的屏幕尺寸一样多的dimens.xml文件。 – Eselfar

+0

@Eselfar感谢您的回复,但我的问题是,在android中有任何工具将所有值桶的维度转换为一样,如果我在值-sw320dp中使用1个dp,那么维度将用于值-sw480dp –

+0

这是使用点像素(dp)而不是像素(px)的目的。它应该根据屏幕自动调整。如果你的屏幕A是10“和1280x720px,而你的屏幕B是5”和1920x1080px,屏幕A上的1dp会与屏幕B不同。这就是为什么在大多数情况下,您只需指定一次大小,然后由系统自动管理。平板电脑有时会出现问题,因为它们具有sh * tty比率,因此您必须为大屏幕创建其他dimens.xml文件。但就是这些。它在我之前的评论中链接的页面上进行了解释。 – Eselfar

回答

0
values folders to create 

values-sw320dp, 
values-sw480dp, 
values-sw600dp, 
values-sw720dp. You should create dimens.xml in all the values folders. 

values-sw360dp 
dimens.xml 
<dimen name="padding_1">5dp</dimen> 

values-sw480dp 
dimens.xml 
<dimen name="padding_1">8dp</dimen> 

values-sw600dp 
dimens.xml 
<dimen name="padding_1">10dp</dimen> 

values-sw720dp 
dminen.xml 
<dimen name="padding_1">13dp</dimen> 

Based on your requirement you can give padding or any dimen values. As you 
given, you should give same name for dimen in all the folders. Android will 
automatically pick the dimen value based on your screen size. 
+0

@MinnnuKaAnae我想知道如何获得所有价值文件夹的所有维度,如2 DP,3 DP,.....和所有,有没有任何公式或任何工具来获得这个尺寸 –

+0

你不需要担心所有维度,例如,在你的xml中,一个edittext出现在你给出的维度中,比如android:padding =“@dimen/padding_1”,android会自动选择你提到的所有维度,用padding_1表示不同的屏幕大小 – MinnuKaAnae

+0

我想知道如何将全维dp放在不同的不同文件夹中 –

0

的一些技巧来帮助你解决你的问题。

dp指标允许您定义跨设备密度的一致大小。 这通常意味着它们在大多数设备上看起来完全相同。

固定宽度适用于少数情况,但视觉吸引力的确在于,您可以缩小较小设备上的用户界面大小,并在较高的设备上进行扩展。您需要开始使用android的bucketing功能,该功能根据具有相同限定名称的设备配置提取不同的资源。

假设你可以选择例如。有利润

a margin_normal也许在xdhdpi 16dp的视觉完美,但你看到18dp适用于xxxhdpi,而14dp适用于xhdpi设备。 这些是主观价值,但放心的比例因子是这个规则的一个很好的近似值。

Dimenify会自动处理此转换,但您需要通过反复试验和一次性工作来提供比例因子。