Android (x)大屏幕上的布局错误

Android (x)大屏幕上的布局错误,android,android-layout,Android,Android Layout,我最近开始为android创建应用程序,并想测试不同屏幕尺寸的布局。因为我没有android设备,所以我用AVD创建了虚拟设备: 240 dpi,无宽度或高度规格(适用于手机) 160 dpi,800 x 1280(适用于平板电脑) 因为我刚刚完成了一个教程,所以我编辑了我的应用程序,使目录如下所示: res/ layout/ activity_main.xml layout-large/ activity_main.xml 布局/活动_mai

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

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

    res/
        layout/
            activity_main.xml
    
        layout-large/
            activity_main.xml
    
    布局/活动_main.xml:

    <?xml ...>
    <LinearLayout ...>
        <Button
            android:text="@string/button_send"
            ... />
    </LinearLayout>
    
    <?xml ...>
    <LinearLayout ...>
        <Button
            android:text="@string/button_send_large"
            ... />
    </LinearLayout>
    
    
    
    布局大/activity_main.xml:

    <?xml ...>
    <LinearLayout ...>
        <Button
            android:text="@string/button_send"
            ... />
    </LinearLayout>
    
    <?xml ...>
    <LinearLayout ...>
        <Button
            android:text="@string/button_send_large"
            ... />
    </LinearLayout>
    
    
    
    这两个不同的字符串资源包含不同的字符串,因此我希望它能在大屏幕上显示一个,在其他所有屏幕上显示另一个。它所做的只是在任何设备上使用“layout”文件夹中的.xml文件

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

    问题:我做错了什么?

    请输入以下内容

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

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

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

    res/
     |-values/
     |-values-large/
    
    因此,对于单个布局中的相同字符串id,值将随屏幕大小而变化

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


    希望这对我有所帮助,这就是我想用xml下的注释和句子来说明的。我想这就是我懒惰的原因。我会在问题中澄清的。谢谢。这就成功了。我仍然想知道为什么其他人没有。现在我真的很想知道。正如我写的那样,我将显示密度设置为160dpi,据我所知是mdpi。那么,为什么要采用hdpi布局呢?上面的代码是否正确地写在了您这边是的,只要清理一下你的项目,我就照你说的做了。我清理了项目,甚至删除了所有用户数据(只是为了确保,你永远不知道…)。同样的结果。带有mdpi显示屏的平板电脑显示布局hdpi/activity_main.xml的按钮。