我现在正在构建一个应用程序,我希望它可以在多种屏幕尺寸(手机,7英寸平板电脑和10英寸平板电脑)上正常工作。我看过有关支持多个屏幕的文档,但我还有一些问题。
现在我有5个不同的布局文件夹,layout-:normal,large,xlarge,sw600dp和sw720dp。这是构建所有屏幕尺寸的最佳方式吗?
当我尝试优化每个布局时,请说出覆盖3英寸和4英寸屏幕的正常尺寸,我遇到的问题是我无法让我的布局看起来正确。 我做得对,我可以改变什么?
答案 0 :(得分:2)
我不相信有任何最好的方法,这只是你的方式。如果您正在计划使图像,按钮,textview更小或更大,您可以使用您使用的方法或style.xml。
Style.xml示例:
您将拥有以下文件夹:
在文件夹内部,您有一个具有不同值的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。
将所有图片资源放入文件夹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