android中的不同值文件夹
我正在我的应用程序中创建不同的android中的不同值文件夹,android,resources,dimensions,Android,Resources,Dimensions,我正在我的应用程序中创建不同的值文件夹(值、值ldpi、值mdpi、值hdpi、值xhdpi、值nodpi、值w360dp-mdpi)。但有些设备属于同一类别。但是屏幕大小不同。但我在这里看到@PankajSharma提供的答案,建议创建如下文件夹- res/values/dimens.xml res/values-small/dimens.xml res/values-normal/dimens.xml res/values-xlarge/dimens.xml 我想知
值
文件夹(值、值ldpi、值mdpi、值hdpi、值xhdpi、值nodpi、值w360dp-mdpi)。但有些设备属于同一类别。但是屏幕大小不同。但我在这里看到@PankajSharma提供的答案,建议创建如下文件夹-
res/values/dimens.xml
res/values-small/dimens.xml
res/values-normal/dimens.xml
res/values-xlarge/dimens.xml
我想知道我的方式和另一种方式有什么不同?我认为@PankajSharma提供的答案很简单。我还想知道哪种方法更好?您使用的方法是一种有效的方法,但有点过时。从
蜂巢
,有一个解决所有这些问题的方法。您的资源文件夹现在应如下所示:
请参考我发布的链接,熟悉最小宽度
概念
希望这有帮助:)
编辑:添加到这篇文章中,尝试在dimens.xml
中建立某种标准化,如下所示:
这样做可以更容易地维护代码,还可以减少
dimen
文件夹的数量。通常情况下,没有值hdpi
,值xhdpi
等。像值-sw480dp-xhdpi
这样的文件可能有更多的值需要调整,但所有这些都是上下文的。在布局文件夹中为默认屏幕4.7英寸(hdpi)创建一个布局,并在值文件夹中创建尺寸。这是你的超集
现在,假设您想要7英寸设备的布局。创建纵向7英寸的values-sw600dp文件夹
现在让我们假设您希望10英寸设备的布局创建值-dw720dp文件夹
注意:-对于景观,只需在文件夹名称前添加“-land”
现在让我们假设您有了新的设备,如Xperia SP(4.7'和XHDPI)和Nexus 5(5英寸和XXHDPI)
对于这些,您可以在xhdpi和xxhdpi文件夹中创建值,并类似地为横向方向添加-land
我希望您了解如何创建文件夹
现在,您的超集已在“值”文件夹中定义。大多数维度将仅从此处使用。现在,请在其他设备中运行您的应用程序。无论发生什么不匹配,只需将特定维度添加到各自的“值”文件夹中即可
要检查使用的布局、图像来自哪个文件夹,请使用我的技巧
创建五个相同的字符串并将所有值放入其中,如下所示:-
默认屏幕
屏幕4.7
XHDPI屏幕
MDPI屏幕
创建五个可绘制文件夹,其中大部分已经存在:-可绘制hdpi、可绘制mdpi、可绘制xhdpi、可绘制xxhdpi、可绘制xxxhdpi
将下面的截图以相同的名称放在各自的文件夹中
这就是我的res文件夹的外观,我支持4.7屏幕及以上的所有设备:-
我想你应该看看那里,你会发现为什么会是这样。你可以在这里看到一个例子,我以前看到过这些链接,但不清楚。这个有帮助吗?但我的问题是关于值文件夹,而不是布局文件夹。答案是一样的,小和dpi之间的差异很小,与屏幕大小有关,而不是与屏幕密度有关。哟你可以有一个高密度的小屏幕。像值小的hdpi。这就是小屏幕和ldpi之间的区别。想象一下,一个屏幕不好的表格,比如真正的低分辨率文件夹是值xlarge ldpi,但你可以只使用值ldpi,它会工作。希望我已经停止了。sw320dp意味着最小宽度320dp?为什么我们需要附加-hdpi-xhdpi用于相同的sw480dp for ex?因为这些设备被进一步分类为此类测量。@user2247689 Ok。如果您想支持所有现有设备,那么将有大量文件夹:(做好设计将减少插入不同dimen文件中的值的数量,并将其与AutoFitTextView库相结合,将使不同的dimen文件仅包含填充、空格、半径等内容。您总是在问题之间复制并粘贴自己的答案吗?使用指向您以前答案的链接进行评论如何不要重复和扩展它(一点)。但最好的部分是:你在这里解决了一个问题,而不是在以前的答案上……太好了!“在布局文件夹中为默认屏幕创建一个单独的布局,在值文件夹中为默认屏幕创建一个4.7英寸(hdpi)的布局。”这是错误的。屏幕大小与dpi没有直接关系。不要使用eclipse