0

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

  1. 240 dpi,无宽度或高度规格(适用于手机)
  2. 160 dpi,800 x 1280(用于平板电脑)

因为我刚刚完成了一个教程,所以我刚刚编辑了我的应用程序,因此目录如下所示:

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>

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

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

问题:我做错了什么?

4

2 回答 2

1

放下面

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

res/layout/activity_main.xml

并创建 res/layout-hdpi/activity_main.xml

                     ^^^^

放下面

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

res/layout-hdpi/activity_main.xml

           ^^^^
于 2012-07-11T14:56:42.540 回答
1

您可以使用相同的文件夹层次结构为不同的屏幕尺寸定义不同的字符串值

res/
 |-values/
 |-values-large/

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

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

希望能帮助到你

于 2012-07-11T15:03:59.773 回答