我知道Android中资源的<resources_name>-<qualifier>
命名约定以及如何将它们用于屏幕尺寸(例如<drawable_xLarge>
)或屏幕密度(例如<drawable xhdpi>
)。
我想知道,如何处理支持每种屏幕尺寸变化的不同密度的情况。即
<drawable-xlarge>
<drawable-xhpdi>
<drawable-hpdi>
<drawable-mpdi>
<drawable-lpdi>
<drawable-large>
<drawable-xhpdi>
<drawable-hpdi>
<drawable-mpdi>
<drawable-lpdi>
...
可以请任何人开导我吗?
干杯
答案 0 :(得分:2)
这是一个非常复杂的问题。您应该检查的文档中有一个非常好的解释。
http://developer.android.com/guide/practices/screens_support.html
否则,你的问题太开放了。
您将在文档中找到的具体段落是:
为不同的屏幕尺寸提供不同的布局
默认情况下,Android调整应用程序布局的大小以适应当前的大小 设备屏幕。在大多数情况下,这很好。在其他情况下,您的UI 可能看起来不太好,可能需要针对不同的屏幕进行调整 大小。例如,在较大的屏幕上,您可能想要调整 一些元素的位置和大小,以利用额外的 屏幕空间,或在较小的屏幕上,您可能需要调整大小 所以一切都可以放在屏幕上。
可用于提供特定于大小的配置限定符 资源是小的,正常的,大的和xlarge。例如,布局 对于一个超大的屏幕应该在layout-xlarge /.
中从Android 3.2(API级别13)开始,上面的大小组是 不推荐使用,您应该使用swdp配置 限定符,用于定义您所需的最小可用宽度 布局资源。例如,如果您的多窗格平板电脑布局 需要至少600dp的屏幕宽度,你应该把它放入 布局sw600dp /。使用新技术声明布局 资源将在“声明平板电脑”一节中进一步讨论 适用于Android 3.2的布局。
答案 1 :(得分:1)
有两种方法可以解决这个问题。
<强>第一强>
定义您的drawable,如下所示。
drawable-small-mdpi
drawable-normal-hdpi
drawable-large-hdpi
drawable-xlarge-hldpi
参考:Screen Compatability issue in android
<强>第二强>
如果您想提供密度较高的drawable,请按照以下方式进行操作。
例如,如果要将drawable设置为最小宽度600 dp,则创建名称为
的目录drawable-sw600dp
与720 dp类似,创建名称为
的目录drawable-sw720dp
这样您就可以定义密度明智的可绘制目录。