多屏幕的设计布局

时间:2011-12-08 08:23:13

标签: android android-layout

我是android的新手,想设计在Android手机和平板电脑的所有屏幕上运行的布局吗?他们是这样做的吗?

5 个答案:

答案 0 :(得分:95)

您需要为差异屏幕尺寸创建不同的布局。支持创建以下布局所需的所有屏幕:

  1. 低密度小屏幕QVGA 240x320(120dpi):

    layout-small-ldpi (240x320)  
    layout-small-land-ldpi (320x240)
    
  2. 低密度普通屏幕WVGA400 240x400(x432)(120dpi):

    layout-ldpi  (240 x 400 )
    layout-land-ldpi  (400 x 240 )
    
  3. 中密度普通屏幕HVGA 320x480(160dpi):

    layout-mdpi (320 x 480 )
    layout-land-mdpi (480 x 320 )
    
  4. 中密度大屏幕HVGA 320x480(160dpi):

    layout-large-mdpi (320 x 480 )
    layout-large-land-mdpi (480 x 320)
    
  5. Galaxy Tab(240 dpi):

    layout-large  (600 x 1024) 
    layout-large-land  (1024 x 600)
    
  6. 高密度普通屏幕WVGA800 480x800(x854)(240 dpi):

    layout-hdpi (480 x 800)
    layout-land-hdpi (800 x 480)
    
  7. Xoom(中密度大但1280x800 res)(160 dpi):

    layout-xlarge (800 x 1280)
    layout-xlarge-land (1280 x 800)
    
  8. 还在.manifest文件中添加以下代码:

    <supports-screens                                 
        android:smallScreens="true"                    
        android:normalScreens="true"         
        android:largeScreens="true"            
        android:xlargeScreens="true"             
        android:anyDensity="true" />
    

答案 1 :(得分:7)

<supports-screens
        android:smallScreens="true"
        android:normalScreens="true"
        android:largeScreens="true"
        android:xlargeScreens="true"
        android:anyDensity="true" />

您应该read this:

答案 2 :(得分:6)

除了传统的support-screen参数之外,还可以参考3.2中推出的新Size Qualifiers

使用新尺寸限定符

您可以根据可用于布局的空间指定的不同资源配置在表2中进行了总结。与传统的屏幕尺寸组相比,这些新的限定符使您可以更好地控制应用程序支持的特定屏幕尺寸(小,normal,large和xlarge)。

表2 enter image description here

为帮助您针对不同类型的设备定位某些设计,以下是典型屏幕宽度的一些数字:

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).

使用表2中的尺寸限定符,您的应用程序可以使用您想要的任何数字宽度和/或高度在手机和平​​板电脑的不同布局资源之间切换。例如,如果600dp是平板电脑布局支持的最小可用宽度,则可以提供以下两组布局:

res/layout/main_activity.xml           # For handsets
res/layout-sw600dp/main_activity.xml   # For tablets
<manifest ... >
    <supports-screens android:requiresSmallestWidthDp="600" />
    ...
</manifest>

答案 3 :(得分:3)

如果您只想使用一个与屏幕尺寸一致的布局xml,则可以使用sdp sdk

添加sdp sdk:

dependencies {
    compile 'com.intuit.sdp:sdp-android:1.0.2'
}

您将能够定义可扩展的TextView:

<TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="A scalable text"
        android:textSize="@dimen/_12sdp" />

答案 4 :(得分:1)

如果您使用的是android 1.6,请尝试使用不同的布局,因为我使用过它:

  1. 如果宽度 - 高度 - 密度: - 320 - 480 - 160则res /布局文件夹名称: - (layout-medium-mdpi)
  2. 如果宽度 - 高度 - 密度: - 480 - 800 - 160则res /布局文件夹名称: - (layout-large-mdpi)
    或者如果width - height - density: - 480 800 240则res / layout文件夹名称: - (layout-medium-hdpi)
  3. 它有效......