0

我已经为屏幕尺寸分辨率 480x800px 制作了一个应用程序(我在 drawable-hdpi 文件夹中有我所有的布局和 ImageButtons,我使用了 dp 而不是 px),在 xml 中我使用 layout_marginLeft 和 marginTop 来放置所有按钮和所有内容.. 当我在 480x800 的模拟器中运行我的应用程序时,它是完美的,但如果我改变屏幕尺寸和分辨率,所有按钮都会改变屏幕上的位置和尺寸。我很沮丧,因为我不知道该怎么做才能使它适合所有的屏幕尺寸和分辨率?有小费吗?

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

4

4 回答 4

5

其实很简单。你只需要添加不同尺寸的布局,让android选择最适合的。eg-layout-small(适用于小屏),layout-large(适用于大屏)等。也将图片放在所有三个文件夹(drawable-hdpi,drawable-ldpi,drawable-mdpi),以便android可以根据屏幕进行选择尺寸。只需参考http://developer.android.com/training/multiscreen/screensizes.html

于 2012-10-12T11:51:24.660 回答
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 缩放比例

于 2012-10-12T10:32:07.283 回答
3

如果我能看到一些代码,我将不胜感激。

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

你可以在这里看到一个例子。

于 2012-10-12T10:32:58.197 回答