`
crazier9527
  • 浏览: 1011317 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

屏幕尺寸和像素密度的资源限定符

 
阅读更多

 

以下是可以用来为不同的屏幕尺寸、像素密度和纵横比包含可替换资源的文件夹名称限定符

1、屏幕尺寸  small 小于标准的3.2“的屏幕

                  medium 典型的智能手机的屏幕尺寸

                  large 比典型的智能手机的屏幕大得多的屏幕,比如平板电脑和上网本

2、像素密度  像素密度通常是用每英寸点数来计算

                  ldpi  用于为像素密度在100~140dpi之间的屏幕存储低密度资源

                  mdpi 用于像素密度在140~180dip之间的中等密度的屏幕

                  hdpi 用于像素密度在190~250dip之间的高密度的屏幕

                  nodpi 用于不管屏幕密度如何,都不能伸缩的资源

3、纵横比  屏幕的纵横比就是其高度和宽度的比率

                 long 用于横向模式的宽度比标准智能手机(如G1)的宽度大得多的屏幕

                 notlong 用于具有典型智能手机的纵横比的屏幕

具体描述如下表格:

 

每个限定符可以单独使用也可以和其他限定符一起使用

如 res/layout-small-long   //小而长的屏幕的布局

    res/layout-large            //大屏幕的布局

    res/drawable-hdpi         //高密度屏幕的 Drawable 

    res/layout/my_layout.xml             // layout for normal screen size ("default")
    res
/layout-small/my_layout.xml       // layout for small screen size
    res
/layout-large/my_layout.xml       // layout for large screen size
    res
/layout-xlarge/my_layout.xml      // layout for extra large screen size
    res
/layout-xlarge-land/my_layout.xml // layout for extra large in landscape orientation

    res
/drawable-mdpi/my_icon.png        // bitmap for medium density
    res
/drawable-hdpi/my_icon.png        // bitmap for high density
    res
/drawable-xhdpi/my_icon.png       // bitmap for extra high density

 Tip: If you have some drawable resources that the system should never scale (perhaps because you perform some adjustments to the image yourself at runtime), you should place them in a directory with the nodpi configuration qualifier. Resources with this qualifier are considered density-agnostic and the system will not scale them.

附:通过<supports-screens android:smallScreens="false" android:normalScreens="true" android:largeScreens="true" android:anyDensity="true"/>清单可以控制指定应用程序在哪些屏幕下运行

 

Declaring Tablet Layouts for Android 3.2

 

 

Screen configuration Qualifier values Description

smallestWidth(宽和高中比较小

的长度要比<N>大)

sw<N>dp

Examples:
sw600dp
sw720dp

The fundamental size of a screen, as indicated by the shortest dimension of the available screen area. Specifically, the device's smallestWidth is the shortest of the screen's available height and width (you may also think of it as the "smallest possible width" for the screen). You can use this qualifier to ensure that, regardless of the screen's current orientation, your application's has at least <N>dps of width available for it UI.

For example, if your layout requires that its smallest dimension of screen area be at least 600 dp at all times, then you can use this qualifer to create the layout resources, res/layout-sw600dp/. The system will use these resources only when the smallest dimension of available screen is at least 600dp, regardless of whether the 600dp side is the user-perceived height or width. The smallestWidth is a fixed screen size characteristic of the device; the device's smallestWidth does not change when the screen's orientation changes.

The smallestWidth of a device takes into account screen decorations and system UI. For example, if the device has some persistent UI elements on the screen that account for space along the axis of the smallestWidth, the system declares the smallestWidth to be smaller than the actual screen size, because those are screen pixels not available for your UI.

This is an alternative to the generalized screen size qualifiers (small, normal, large, xlarge) that allows you to define a discrete number for the effective size available for your UI. Using smallestWidth to determine the general screen size is useful because width is often the driving factor in designing a layout. A UI will often scroll vertically, but have fairly hard constraints on the minimum space it needs horizontally. The available width is also the key factor in determining whether to use a one-pane layout for handsets or multi-pane layout for tablets. Thus, you likely care most about what the smallest possible width will be on each device.

Available screen width

(宽度至少要比<N>大)

w<N>dp

Examples:
w720dp
w1024dp

Specifies a minimum available width in dp units at which the resources should be used—defined by the <N> value. The system's corresponding value for the width changes when the screen's orientation switches between landscape and portrait to reflect the current actual width that's available for your UI.

This is often useful to determine whether to use a multi-pane layout, because even on a tablet device, you often won't want the same multi-pane layout for portrait orientation as you do for landscape. Thus, you can use this to specify the minimum width required for the layout, instead of using both the screen size and orientation qualifiers together.

Available screen height

 

(高度至少要比<N>大)

 

h<N>dp

Examples:
h720dp
h1024dp
etc.

Specifies a minimum screen height in dp units at which the resources should be used—defined by the <N> value. The system's corresponding value for the height changes when the screen's orientation switches between landscape and portrait to reflect the current actual height that's available for your UI.

Using this to define the height required by your layout is useful in the same way as w<N>dp is for defining the required width, instead of using both the screen size and orientation qualifiers. However, most apps won't need this qualifier, considering that UIs often scroll vertically and are thus more flexible with how much height is available, whereas the width is more rigid.

 

To help you target some of your designs for different types of devices, here are some numbers for typical screen widths:

  • 320dp: a typical phone screen (240x320 ldpi, 320x480 mdpi, 480x800 hdpi, etc).
  • 480dp: a tweener tablet like the Streak (480x800 mdpi).
  • 600dp: a 7” tablet (600x1024 mdpi).
  • 720dp: a 10” tablet (720x1280 mdpi, 800x1280 mdpi, etc).

 Caution: When developing for Android 3.2 and higher, you should not use the older screen size attributes in combination with the attributes listed above. Using both the new attributes and the older size attributes might cause unexpected behavior.

 
感谢http://www.cnblogs.com/cappuccino/archive/2011/08/08/2130982.html
分享到:
评论

相关推荐

    屏幕适配_宽高限定符适配.zip

    Android系统会根据设备的屏幕尺寸和密度来选择合适的资源。这些资源被组织在不同的文件夹下,例如`values`, `drawables`, `layout`等。对于屏幕适配,我们关注的是`layout`文件夹下的宽高限定符。 宽高限定符是...

    android 的宽高限定符适配

    此外,Android还提供了“nodpi”、“hdpi”、“xhdpi”、“xxhdpi”和“xxxhdpi”等密度限定符,用于图片和其他非布局资源的适配。这些密度桶确保了在不同像素密度的屏幕上,资源的视觉大小保持一致。开发者应该提供...

    Android多分辨率多密度下UI适配方案.

    UI 适配主要受平台两个因素的影响:屏幕尺寸(屏幕的像素宽度及像素高度)和屏幕密度。 在 Android 中,屏幕尺寸可以分为 small, normal, large, xlarge 等Several 分类,每种分类都对应着特定的屏幕尺寸范围。屏幕...

    android_px_多屏幕适配生成工具和资源

    本文将深入探讨如何利用Android的工具和资源来实现高效的多屏幕适配。 首先,我们来看标题中的“px”,这指的是像素(Pixel),是屏幕上的最小显示单元。在Android中,像素并不直接对应于屏幕的实际大小,因为不同...

    Android多分辨率多密度下UI适配方案

    开发者还可以通过添加特定的qualifier(限定符)来为不同屏幕尺寸或方向提供定制的布局。例如,res/layout-sw600dp用于7英寸及以上平板设备,res/layout-land用于横屏模式。 8. Density-independent Pixels(dp)...

    安卓app开发项目-获取手机屏幕尺寸的代码段(源码).zip

    Android提供了多种布局和设计策略来适应不同尺寸的屏幕,如使用`sw600dp`、`w600dp`这样的限定符创建不同的资源文件夹,或者使用百分比布局、约束布局等自适应布局技术。 6. **实践与测试**: 在实际开发中,为了...

    Android多分辨率适配方案

    Android 界面适配机制,即在资源后面添加对屏幕尺寸和屏幕密度的限定,通过不同的限定区分不同的平台资源,Android 在使用资源的时候会优先选择满足本平台限定的资源,再找最接近条件的,再找默认(即不加限定),...

    dimen屏幕适配2018-8最新资源

    为了实现更精细化的适配,Android还引入了swXXdp(最小宽度)和wXXdp(宽度)这样的维度限定符,例如`values-sw320dp`会针对最小宽度为320dp的设备提供资源。这样,开发者可以根据设备的实际可用宽度来调整布局,而...

    android多屏幕多分辨率适配

    6. **使用限定符**:在资源目录中,可以使用width、height、swXXdp等限定符来更精确地控制布局资源的使用,例如,res/layout-sw600dp/用于7英寸及以上平板设备。 7. **使用碎片(Fragment)**:碎片可以独立于...

    android屏幕适配[参照].pdf

    在Android开发中,屏幕适配是一项至关重要的任务,因为Android设备拥有广泛的屏幕尺寸和像素密度。以下是关于Android屏幕适配的详细知识点: 1. **屏幕相关概念** - **解析度**:指的是屏幕水平和垂直方向上的像素...

    多屏幕适配

    7. **swXXdp和wXXdp尺寸限定符**:这些限定符用于定义针对最小宽度(sw)或宽度(w)的布局。例如,`layout-sw600dp`会为屏幕宽度至少为600dp的设备提供特定的布局。 8. **使用栅格系统**:借鉴网页设计中的栅格...

    关于自适应屏幕方向和大小的一些经验.zip

    1. **屏幕尺寸和密度**:Android系统将屏幕分为小、中、大、超大四种尺寸,并根据像素密度(dpi)将其分为低、中、高、超高密度。开发者需要为不同尺寸和密度的屏幕提供相应的资源。 2. **布局资源**:使用不同的...

    android应用自适应多分辨率的解决方法

    Android系统支持开发者为不同屏幕尺寸和密度创建特定的布局资源文件。这是实现自适应设计的关键一步。例如,当开发者创建一个名为`layout-800x480`的目录时,意味着该目录下的布局文件是专门为宽度为800dp、高度为...

    android 适配文件dimens.xml一键生成

    2. 分别为不同屏幕尺寸和密度创建资源文件夹,如`values-mdpi`、`values-hdpi`、`values-xhdpi`等,然后在对应的`dimens.xml`中定义相应的尺寸。 3. 遵循Android的“最小宽度”(sw&lt;N&gt;dp)布局策略,为不同屏幕宽度...

    dimens_sw-master.zip

    这个程序帮助开发者更有效地管理与屏幕尺寸相关的布局和尺寸资源,从而实现更加精细化的屏幕适配。 首先,我们来理解一下“sw”限定符。在Android的资源目录结构中,“sw”是“screen width”的缩写,用于指定设备...

    安卓Android源码——android多分辨率适配 ,判断平板还是手机,等比例缩小图片.zip

    Android允许在资源目录中添加密度限定符(如hdpi, xhdpi, xxhdpi等),以便为不同密度的屏幕提供适配的图片。系统会自动选择最接近当前设备密度的资源,保证图片显示清晰。 6. 屏幕适配的最佳实践: - 使用相对布局...

    6-绘图1

    - 宽高限定符适配:利用swdp(smallest width)限定符为不同屏幕尺寸提供资源。 - UI 适配框架:如Facebook的Fresco、Google的PercentSupport库等,简化适配工作。 - smallestWidth 适配:基于最小宽度进行布局...

    Android多分辨率适配

    为了实现多分辨率适配,开发者需要为不同屏幕尺寸和密度创建相应的资源文件夹。例如,将图片、布局文件等放在res/drawable-mdpi、res/drawable-hdpi、res/layout-small等目录下。Android系统会自动选择最合适的资源...

    Google的Android屏幕适配PPT

    3. **使用资源限定符**:除了创建不同的资源文件夹外,还可以通过使用资源限定符的方式指定特定条件下的资源使用。例如,`@drawable/ic_launcher-xhdpi`表示在超高密度设备上使用的图标资源。 #### 四、国际化 ...

Global site tag (gtag.js) - Google Analytics