在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-hdpi
, values-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>