繁体   English   中英

如何在Android上支持不同的屏幕尺寸和不同的密度

[英]How to support different screens sizes AND different densities on Android

我知道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>
...

有人能启发我吗? 干杯

这是一个非常复杂的问题。 您应该检查的文档中有很好的解释。

http://developer.android.com/guide/practices/screens_support.html

否则,您的问题太开放了。

您将在文档中找到的特定段落是:

为不同的屏幕尺寸提供不同的布局

默认情况下,Android会调整应用程序布局的大小以适合当前设备屏幕。 在大多数情况下,这可以正常工作。 在其他情况下,您的UI可能看起来不那么好,可能需要针对不同的屏幕尺寸进行调整。 例如,在较大的屏幕上,您可能需要调整某些元素的位置和大小以利用额外的屏幕空间,或者在较小的屏幕上,可能需要调整大小以使所有内容都适合屏幕。

可用于提供特定于大小的资源的配置限定符为small,normal,large和xlarge。 例如,超大屏幕的布局应放在layout-xlarge /中。

从Android 3.2(API级别13)开始,不建议使用上述大小组,而应使用swdp配置限定符定义布局资源所需的最小可用宽度。 例如,如果您的多窗格平板电脑布局需要至少600dp的屏幕宽度,则应将其放置在layout-sw600dp /中。 关于声明Android 3.2平板电脑布局的部分中,将进一步讨论使用新技术声明布局资源。

有两种方法可以解决此问题。

第一

如下定义您的可绘制对象。

drawable-small-mdpi
drawable-normal-hdpi
drawable-large-hdpi
drawable-xlarge-hldpi

参考: Android中的屏幕兼容性问题

第二

如果您想提供密度明智的可绘制对象,请按照以下方式进行操作。

例如,如果您想将drawable设置为最小宽度为600 dp,则创建目录,名称为

drawable-sw600dp

就像720 dp一样,用名称创建目录

drawable-sw720dp

这样,您可以定义密度明智的可绘制目录。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM