1

在我的 Android 应用程序中,我在 Manifest 文件中包含以下内容。

<uses-sdk android:minSdkVersion="4" android:targetSdkVersion="11"/>

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

同样在 Res 文件夹(UI 设计)下,我为以下屏幕尺寸设计了单独的 UI。

layout
layout-large
layout-small

所以它工作得很好,但是在屏幕稍大(5.3 英寸)的三星 Galaxy Note中,我的 UI 元素被拉伸,其中一部分超出了屏幕限制,变得无法访问。

根据ANDROID 的 SUPPORTING MULTIPLE SCREENS POST,这款手机应该可以使用layout-large布局资源和drawable-xhdpi图像资源正常工作。

无法弄清楚究竟发生了什么。非常感谢任何指导。提前致谢...!!!!

编辑

只是为了测试,我layout-large-xhdpi还在 Res 文件夹下的命名文件夹下创建了另一组额外的 UI。所以当我测试它从这个文件夹中获取 UI,但 UI 元素仍然超出屏幕限制。此外,所有宽度量都已分配dp单位。

===一些屏幕截图来解释问题情况===

(layout-large-xhdpi)以下是设计时在图形布局中的外观截图

在此处输入图像描述

<LinearLayout
    android:id="@+id/Layout2"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_marginTop="20dp">

   <Button
        android:id="@+id/button1"
        android:layout_width="240dp"
        android:layout_height="wrap_content"
        android:text="Account" />

    <Button
        android:id="@+id/button2"
        android:layout_width="240dp"
        android:layout_height="wrap_content"
        android:text="Settings" />       

</LinearLayout>

当它运行时它只是伸展(如下截图)

在此处输入图像描述

4

1 回答 1

4

尝试使用:

<LinearLayout
    android:id="@+id/Layout2"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_marginTop="20dp">

   <Button
        android:id="@+id/button1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="Account" />

    <Button
        android:id="@+id/button2"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="Settings" />       

</LinearLayout>

根据 Google 给出的指南,您应该避免在布局中使用硬编码像素。

有关更多详细信息,请参阅此链接:

http://developer.android.com/guide/practices/screens_support.html

于 2012-07-16T08:45:08.867 回答