我已经制作了一个应用程序,用于屏幕大小重新分析480x800px(我在drawable-hdpi文件夹中有我的所有布局和ImageButtons,我使用的是dp而不是px),在xml中我使用layout_marginLeft和marginTop来放置所有按钮和一切..当我在480x800模拟器中运行我的应用程序它是完美的,但如果我更改屏幕大小和resoulution所有按钮更改屏幕上的位置和大小。我非常沮丧,因为我不知道如何使它适合所有的屏幕尺寸和资源?有什么提示吗?
我应该在不同的文件夹中使用哪些不同的尺寸?我的hdpi有480x800,我应该在xhdpi中拥有什么?
答案 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)
如果能看到一些代码,我真的很感激。
如果您将RelativeLayout
与android:layout_below
等属性和dp(密度像素)中的边距一起使用,例如android:layout_marginTop="10dp"
它应该可以正常工作。
答案 3 :(得分:2)