在android中不同的值文件夹

我在我的应用程序中创build了不同的values文件夹(values, values-ldpi, values-mdpi, values-hdpi, values-xhdpi, values-nodpi, values-w360dp-mdpi) 。 但有些设备属于同一类别。 但有不同的屏幕尺寸。 但我看到根据设备密度字体大小在@PankajSharma提供的答案build议创build文件夹像 –

 res/values/dimens.xml res/values-small/dimens.xml res/values-normal/dimens.xml res/values-xlarge/dimens.xml 

我想知道我的方式和其他方式有什么不同? 我认为@PankajSharma提供的答案很简单。 我也想知道哪个方法更好?

你正在使用的方法是一个有效的方法,但有点过时。 从HoneyComb ,有一个新的方法来解决所有这一切。 你的资源文件夹现在应该是这样的:

在这里输入图像描述

请参考我已发布的链接,并熟悉Smallest Width概念。

希望这可以帮助 :)

编辑:添加到这个职位,尝试build立在你的dimens.xml中的某种标准化,如下所示:

在这里输入图像描述

这样做可以更容易地维护代码,并减lessdimen文件夹的数量。 一般情况下, values-xhdpi values-hdpivalues-xhdpi等等文件,比如values-sw480dp-xhdpi可能有更多的值要调整,但是所有这些都是上下文的。

为布局文件夹中的默认屏幕4.7英寸(hdpi)和值文件夹中的尺寸创build单个布局。 这是你的Superset

现在让我们说你想要7英寸设备的布局。 在纵向上创build7英寸的值 – sw600dp文件夹

现在可以说你想要你的10英寸设备的布局创buildvalues-dw720dp文件夹

注: – 景观只需在文件夹名称前添加“-land”。

现在让我们说你有Xperia SP(4.7'和XHDPI)和Nexus 5(5“和XXHDPI)等新设备。

对于这些,你可以创buildvalues-xhdpi和values-xxhdpi文件夹和类似于横向的addland。

我希望你能明白如何创build文件夹

现在你的超集是在值文件夹中定义的。 大部分尺寸将只能从这里使用。 现在在其他设备上运行你的应用。 无论发生什么不匹配,只需在相应的值文件夹中添加特定的维度即可

要检查从哪个文件夹布局,使用图像,使用我的伎俩。

创build五个相同的string,并把它放在所有的值文件夹,如下所示: – 默认屏幕屏幕4.7 XHDPI屏幕MDPI屏幕

创build五个可绘制的文件夹,其中大部分将已经在那里: – drawable-hdpi,drawable-mdpi,drawable-xhdpi,drawable-xxhdpi,drawable-xxxhdpi将下面的截图放在它们各自的文件夹下

在这里输入图像描述在这里输入图像描述在这里输入图像描述在这里输入图像描述在这里输入图像描述

这是我的res文件夹的样子,我支持4.7屏幕及以上的所有设备: –

在这里输入图像描述

 <dimen name="activity_horizontal_margin">16dp</dimen> <dimen name="activity_vertical_margin">16dp</dimen> <!-- Various Text Sizes --> <dimen name="text_size_extra_small">10sp</dimen> <dimen name="text_size_small">12sp</dimen> <dimen name="text_size_medium">14sp</dimen> <dimen name="text_size_normal">16sp</dimen> <dimen name="text_size_large">18sp</dimen> <dimen name="text_size_extra_large">20sp</dimen> <dimen name="text_size_super_large">50sp</dimen> <dimen name="text_size_super_extra_large">70sp</dimen> <!-- Various Paddings --> <dimen name="padding_very_short">2dp</dimen> <dimen name="padding_short">5dp</dimen> <dimen name="padding_medium">7dp</dimen> <dimen name="padding_normal">10dp</dimen> <dimen name="padding_long">35dp</dimen> <dimen name="padding_long_gamename">55dp</dimen> <dimen name="padding_extra_long">15dp</dimen> <!-- Various Margins --> <dimen name="margin_very_short">5dp</dimen> <dimen name="margin_med_short">5dp</dimen> <dimen name="margin_short">10dp</dimen> <dimen name="margin_meium">15dp</dimen> <dimen name="margin_short_player_review">10dp</dimen> <dimen name="margin_meium_player_review">15dp</dimen> <dimen name="margin_normal">20dp</dimen> <dimen name="margin_long">25dp</dimen> <dimen name="margin_vshape">25dp</dimen> <!-- Various Width --> <dimen name="width_extra_min">120dp</dimen> <dimen name="width_profile_messages_images">70dp</dimen> <dimen name="width_half">240dp</dimen> <dimen name="width_normal">300dp</dimen> <dimen name="width_extra_large">360dp</dimen> <dimen name="width_popup_window">180dp</dimen> <!-- Various Height --> <dimen name="height_very_short_shadow">1dp</dimen> <dimen name="height_short">40dp</dimen> <dimen name="width_ListHalf">260dp</dimen>