我是android的新手,想设计在Android手机和平板电脑的所有屏幕上运行的布局吗?他们是这样做的吗?
答案 0 :(得分:95)
您需要为差异屏幕尺寸创建不同的布局。支持创建以下布局所需的所有屏幕:
低密度小屏幕QVGA 240x320(120dpi):
layout-small-ldpi (240x320)
layout-small-land-ldpi (320x240)
低密度普通屏幕WVGA400 240x400(x432)(120dpi):
layout-ldpi (240 x 400 )
layout-land-ldpi (400 x 240 )
中密度普通屏幕HVGA 320x480(160dpi):
layout-mdpi (320 x 480 )
layout-land-mdpi (480 x 320 )
中密度大屏幕HVGA 320x480(160dpi):
layout-large-mdpi (320 x 480 )
layout-large-land-mdpi (480 x 320)
Galaxy Tab(240 dpi):
layout-large (600 x 1024)
layout-large-land (1024 x 600)
高密度普通屏幕WVGA800 480x800(x854)(240 dpi):
layout-hdpi (480 x 800)
layout-land-hdpi (800 x 480)
Xoom(中密度大但1280x800 res)(160 dpi):
layout-xlarge (800 x 1280)
layout-xlarge-land (1280 x 800)
还在.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
为帮助您针对不同类型的设备定位某些设计,以下是典型屏幕宽度的一些数字:
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
,请尝试使用不同的布局,因为我使用过它:
它有效......