什么是构建多种屏幕尺寸的最佳方式?

时间:2013-01-04 01:50:21

标签: android

我现在正在构建一个应用程序,我希望它可以在多种屏幕尺寸(手机,7英寸平板电脑和10英寸平板电脑)上正常工作。我看过有关支持多个屏幕的文档,但我还有一些问题。

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

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

3 个答案:

答案 0 :(得分:2)

我不相信有任何最好的方法,这只是你的方式。如果您正在计划使图像,按钮,textview更小或更大,您可以使用您使用的方法或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" />

答案 1 :(得分:1)

我相信你可以使用这个资源别名先生。

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

  • image1_sw320dp.png
  • image1_sw600dp.png

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

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

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

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

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

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

答案 2 :(得分:0)

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