zoukankan      html  css  js  c++  java
  • android multiscreen support

    android 如何区分屏幕的大小:

      Low density (120), ldpi Medium density (160), mdpi High density (240), hdpi
    Small screen
    • QVGA (240x320), 2.6"-3.0" diagonal
       
    Normal screen
    • WQVGA (240x400), 3.2"-3.5" diagonal
    • FWQVGA (240x432), 3.5"-3.8" diagonal
    • HVGA (320x480), 3.0"-3.5" diagonal
    • WVGA (480x800), 3.3"-4.0" diagonal
    • FWVGA (480x854), 3.5"-4.0" diagonal
    Large screen  
    • WVGA (480x800), 4.8"-5.5" diagonal
    • FWVGA (480x854), 5.0"-5.8" diagonal
     

    四种屏幕尺寸分类:: small, normal, large, and xlarge
    四种密度分类: ldpi (low), mdpi (medium), hdpi (high), and xhdpi (extra high)

    一般情况下的普通屏幕:ldpi是120,mdpi是160,hdpi是240,xhdpi是320。
    需要注意的是: xhdpi是从 Android 2.2 (API Level 8)才开始增加的分类.
    xlarge是从Android 2.3 (API Level 9)才开始增加的分类.
    DPI是“dot per inch”的缩写,每英寸像素数。

    New configuration qualifers for screen size (introduced in Android 3.2).

    Screen configurationQualifier valuesDescription
    smallestWidth 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 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 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.

    While using these qualifiers might seem more complicated than using screen size groups, it should actually be simpler once you determine the requirements for your UI. When you design your UI, the main thing you probably care about is the actual size at which your application switches between a handset-style UI and a tablet-style UI that uses multiple panes. The exact point of this switch will depend on your particular design—maybe you need a 720dp width for your tablet layout, maybe 600dp is enough, or 480dp, or some number between these. Using these qualifiers in table 2, you are in control of the precise size at which your layout changes.

    For more discussion about these size configuration qualifiers, see the Providing Resources document.

    如果需要为Android pad定制资源文件,则res目录下的目录可能为:
    drawable
    drawable-ldpi
    drawable-mdpi
    drawable-hdpi
    drawable-xhdpi
    drawable-nodpi
    drawable-nodpi-1024×600
    drawable-nodpi-1280×800
    drawable-nodpi-800×480
    values
    values-ldpi
    values-mdpi
    values-hdpi
    values-xhdpi
    values-nodpi
    values-nodpi-1024×600
    values-nodpi-1280×800
    values-nodpi-800×480

    对于某些区分large和normal不准确的屏幕可以使用sw600dp,但是只在android3.2后生效,在3.1的机子上测试确实无效。3.2之前的可以同时使用large 和sw600dp分支来解决(虽然还是有些不能解决)。

  • 相关阅读:
    github上Devstack的一些变动,截至8.20
    Tokyo Tyrant(TTServer)系列(二)-启动參数和配置
    云方案术语
    四大桌面云显示协议解析
    rdesktop -u qinrui -p 'Aa7788..' 192.168.3.117 -a 32 -g workarea
    IOS开发之block应用
    怎样用EA设计ER图
    使用Jsoup解析和操作HTML
    Speak a Good Word for SB
    LeetCode234_PalindromeLinkedList (推断是否为回文链表) Java题解
  • 原文地址:https://www.cnblogs.com/qiengo/p/2504521.html
Copyright © 2011-2022 走看看