(x)大显示屏上的布局错误

时间:2012-07-11 14:52:10

标签: android android-layout

我最近开始为Android创建应用程序,并希望测试不同屏幕尺寸的布局。因为我没有使用AVD创建的虚拟设备:

  1. 240 dpi,无宽度或高度规格(适用于手机)
  2. 160 dpi,800 x 1280(适用于平板电脑)
  3. 由于我刚刚完成了一个教程,我刚编辑了我的应用程序,因此目录如下所示:

    res/
        layout/
            activity_main.xml
    
        layout-large/
            activity_main.xml
    

    布局/ activity_main.xml中:

    <?xml ...>
    <LinearLayout ...>
        <Button
            android:text="@string/button_send"
            ... />
    </LinearLayout>
    

    布局大/ activity_main.xml中:

    <?xml ...>
    <LinearLayout ...>
        <Button
            android:text="@string/button_send_large"
            ... />
    </LinearLayout>
    

    两个不同的字符串资源包含不同的字符串,所以我期望它做的是在大型显示器上显示一个,在另一个显示器上显示另一个。它的作用是在任何设备上使用“layout”文件夹中的.xml文件。

    所以我做了一些研究并尝试将“layout-large”重命名为“layout-xlarge”,最后重命名为“layout-sw600dp”。也没用。
    这两款设备都在Android 4.1上运行 是的,我确实确保eclipse在正确的设备上启动了应用程序。

    问题:我做错了什么?

2 个答案:

答案 0 :(得分:1)

关注

<?xml ...>
<LinearLayout ...>
    <Button
        android:text="@string/button_send"
        ... />
</LinearLayout>
res / layout / activity_main.xml

中的

AND CREATE res / layout-hdpi / activity_main.xml

                     ^^^^

关注

<?xml ...>
<LinearLayout ...>
    <Button
        android:text="@string/button_send_large"
        ... />
</LinearLayout>

res / layout-hdpi / activity_main.xml

           ^^^^

答案 1 :(得分:1)

您可以使用值

的相同文件夹层次为不同的屏幕大小定义不同的字符串值
res/
 |-values/
 |-values-large/

因此,对于单个布局中相同的字符串ID,值将随屏幕大小而变化

我不确定问题是否来自这一点,但可能是......

希望有所帮助