android屏幕尺寸分辨率

时间:2012-10-12 10:27:30

标签: android xml screen-size

我已经制作了一个应用程序,用于屏幕大小重新分析480x800px(我在drawable-hdpi文件夹中有我的所有布局和ImageButtons,我使用的是dp而不是px),在xml中我使用layout_marginLeft和marginTop来放置所有按钮和一切..当我在480x800模拟器中运行我的应用程序它是完美的,但如果我更改屏幕大小和resoulution所有按钮更改屏幕上的位置和大小。我非常沮丧,因为我不知道如何使它适合所有的屏幕尺寸和资源?有什么提示吗?

我应该在不同的文件夹中使用哪些不同的尺寸?我的hdpi有480x800,我应该在xhdpi中拥有什么?

4 个答案:

答案 0 :(得分:5)

它实际上很简单。你只需要添加不同大小的布局,让android选择最适合的。 例如 - 布局 - 小(对于小屏幕),布局 - 大(对于大屏幕)等。还将图像放在所有三个文件夹(drawable-hdpi,drawable-ldpi,drawable-mdpi)上,以便android可以根据屏幕选择尺寸。 请参阅http://developer.android.com/training/multiscreen/screensizes.html

答案 1 :(得分:4)

您必须为不同的屏幕维护不同的布局。例如:

res/layout/my_layout.xml             // layout for normal screen size ("default")
res/layout-small/my_layout.xml       // layout for small screen size
res/layout-large/my_layout.xml       // layout for large screen size
res/layout-xlarge/my_layout.xml      // layout for extra large screen size
res/layout-xlarge-land/my_layout.xml // layout for extra large in landscape orientation

res/drawable-mdpi/my_icon.png        // bitmap for medium density
res/drawable-hdpi/my_icon.png        // bitmap for high density
res/drawable-xhdpi/my_icon.png       // bitmap for extra high density

在manifest.xml中添加此文件

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

点击此链接:http://developer.android.com/guide/practices/screens_support.html

为了获得最佳的UI设计,您应该保持相对布局而不是LinearLayout。

见:

例如:您想要显示一个图像..然后,现在您需要为不同的屏幕保持不同尺寸的相同图像。

36x36 for low-density
48x48 for medium-density
72x72 for high-density
96x96 for extra high-density

3:4:6:8缩放比率

答案 2 :(得分:3)

如果能看到一些代码,我真的很感激。

如果您将RelativeLayoutandroid:layout_below等属性和dp(密度像素)中的边距一起使用,例如android:layout_marginTop="10dp"它应该可以正常工作。

You can see an example here.

答案 3 :(得分:2)