与drawables有不同文件夹的方式相同,您可以为屏幕大小创建不同的布局。
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
来自 Android 文档:http: //developer.android.com/guide/practices/screens_support.html
编辑:
要以编程方式检测设备是手机还是平板电脑,您可以使用以下代码:
public static boolean isTablet(Context context) {
return (context.getResources().getConfiguration().screenLayout
& Configuration.SCREENLAYOUT_SIZE_MASK)
>= Configuration.SCREENLAYOUT_SIZE_LARGE;
}
然后,在您的活动中,您可以根据之前的值设置不同的布局:
@Override
onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
if isTablet(this)
setContentView(R.layout.handset_main_layout);
else
setContentView(R.layout.tablet_maint_layout);
}
这只是一个例子。