2012-02-15 102 views
1

我是初学者,为android编程。首先我需要我的应用程序将支持2设备手机(480x800)和平板电脑(1280x800)。支持多屏(手机和平板电脑)

我读了这个,并试图一步一步做。 Supporting Multiple Screens

所以我创建的文件夹与布局:

res/layout/firstPage.xml//this is by default phone layout port and land 
res/layout-sw720dp/firstPage.xml//this is tablet port layout 
res/layout-sw720dp-land/firstPage.xml//this is tablet land layout 

我的XML看起来是这样的:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_gravity="center_vertical" 
    android:baselineAligned="false" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:orientation="vertical" > 

    <Button 
     android:id="@+id/button1" 
     android:text="@string/button1" /> 

    <Button 
     android:id="@+id/button2" 
     android:text="@string/button2" /> 

    <Button 
     android:id="@+id/button3" 
     android:text="@string/button3" /> 

</LinearLayout> 

我不给有关按钮的详细信息,因为在每一个布局,他们是不同的。

在我的AndroidManifest.xml我有这样一行:

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

也许我并不需要为他人真如果我设置TRU这个anyDensity =“真”

因此,我认为我做了一切,因为我应该。但是当我想在平板电脑上测试时,它会默认显示我的电话布局。 那么我错过了什么? 或者我还需要做一些编码?

编辑:

我想我明白为什么... 从Android 3.2(API等级13)开始,上述尺寸组已被取消,您应改用SWDP设定限定词来定义的最小可用宽度您的布局资源所需。

我的表是3.1,所以它没有找到布局? 但如果我想要支持从2.1到4,该怎么办?

+0

您给布局按钮的layout_height和layout_width布局的值是多少? – 2012-02-15 12:45:51

回答

2

Sollution:

你应该必须遵循:Best Practise

尝试使用不同的布局不同的屏幕尺寸:

像这样:

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 

不过如果不能解决那么你的问题,请使用固定大小的图像分别为不同的布局。

根据我的观点和文件,它自我解释说,你应该遵循一定的步骤来做到这一点。

希望它能帮助你。nd如果没有,那么让我知道你在停止布局管理的地方。

谢谢。

1

尝试使用此...

res/layout/firstPage.xml//this is by default phone layout port and land 
res/layout-xlarge/firstPage.xml//this is tablet port layout 
res/layout-xlarge-land/firstPage.xml//this is tablet land layout 
+0

这是什么比: '超大屏幕,风景方向'是不是任何设备/区域设置组合的最佳匹配。 以'Locale Language ___Region __,sw800dp,w1280dp,h800dp,超大屏幕,长宽比,风景方向,正常,白天时间,中等密度,手指触摸屏,软键盘,无键盘,暴露导航,没有导航,屏幕分辨率1280x800,API级别7',这是兼容的,但实际上会显示另一个更具体的布局版本。 – Streetboy 2012-02-15 09:52:45

相关问题