0

我现在正在构建一个应用程序,我希望它能够在多种屏幕尺寸(手机、7 英寸平板电脑和 10 英寸平板电脑)上正常工作。我已经查看了有关支持多个屏幕的文档,但我仍然有一些问题。

现在我有 5 个不同的布局文件夹,layout-:normal、large、xlarge、sw600dp 和 sw720dp。这是为所有屏幕尺寸构建的最佳方式吗?

当我尝试优化每个布局时,说覆盖一些 3 英寸和 4 英寸屏幕的正常尺寸时,我遇到的问题是我无法让我的布局在所有这些屏幕上看起来都正确。我做对了什么,我可以改变什么?

4

3 回答 3

2

我不相信有任何最好的方法,这只是你的方法。如果您打算使图像、按钮、文本视图更小或更大,您可以使用您使用的方法或 style.xml。

Style.xml 示例:

您将拥有一些文件夹,例如:

  • 价值观
  • 值-大
  • 正常值
  • 值-小
  • 值-xlarge

在文件夹中,您有一个具有不同值的 styles.xml:

<style name="BigTextStyle">
    <item name="android:textSize">60dp</item>
</style>

<style name="SmallTextStyle">
    <item name="android:textSize">48dp</item>
</style>

<style name="ImageSize">
    <item name="android:layout_width">100dp</item>
    <item name="android:layout_height">100dp</item>
</style>

只需根据您正在使用的屏幕更改大小,然后在 layout.xml 中添加:

<ImageView
    android:id="@+id/imageSD"
            style="@style/ImageSize" />

        <TextView
    android:id="@+id/imageNameSD"
            style="@style/BigTextStyle" />
于 2013-01-04T02:01:09.467 回答
1

我相信您可以使用此资源别名先生。

假设您有两个不同的图像用于 sw320dp 和 sw600dp。

  • image1_sw320dp.png
  • image1_sw600dp.png

将所有图像资源放入文件夹drawable

在文件夹 values-sw320dp 中,创建一个 xml 资源。(也可能你需要 values-small,只需从 values-320dp 复制 xml)

<resources>
    <item type="drawable" name="image1">@drawable/image1_sw320dp</item>
</resources>

在文件夹 values-sw600dp 中,创建一个 xml 资源。

<resources>
    <item type="drawable" name="image1">@drawable/image1_sw600dp</item>
</resources>

然后在活动上使用R.drawable.image1. 这可以防止创建重复资源,例如 sw320dp、small 和 normal。

于 2013-01-04T04:03:35.173 回答
0

Rotary 先生有一个很好的方法来处理多种屏幕尺寸。此外,您可以在应用程序中使用 Fragment。您可以在这里学习如何使用片段:http: //developer.android.com/guide/components/fragments.html

于 2013-01-04T02:23:39.580 回答