在Android文档中阅读Designing for Multiple Screens后,我有点困惑。 Eclipse中有一个工具可以在不同的屏幕中预览布局。我可以从那里看到某些图像不合适而且太大或太小。例如,在这个屏幕截图中,最重要的是它应该是什么样子,而其他所有屏幕都是它在其他屏幕中的样子。正如您所看到的,所有屏幕屏幕中的大脑罐都不合适(Galaxy Nexus除外)。
在我的整个申请过程中,我使用了所有最佳实践:
屏幕截图中此特定布局的布局xml:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/wall_nobrainjar"
android:orientation="vertical" >
<ImageButton
android:id="@+id/brainjar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_marginRight="129dp"
android:layout_marginTop="215dp"
android:layout_toLeftOf="@+id/red_paint"
android:background="@drawable/brainjar"
android:onClick="zoomImage" />
<Button
android:id="@+id/riddle_book"
android:layout_width="70dp"
android:layout_height="30dp"
android:layout_alignBottom="@+id/red_paint"
android:layout_alignParentLeft="true"
android:layout_marginLeft="83dp"
android:background="@android:color/transparent"
android:onClick="zoomImage" />
<ImageView
android:id="@+id/zoomed_image"
android:layout_width="fill_parent"
android:layout_height="fill_parent" />
<FrameLayout
android:id="@+id/brainjar_zoomed"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<ImageView
android:id="@+id/brainjar_zoomed_image"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/brain_grey"
android:visibility="gone" />
<ImageView
android:id="@+id/riddleBook_zoomed_image"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/riddle_zoomed"
android:visibility="gone" />
</FrameLayout>
<Button
android:id="@+id/red_paint"
android:layout_width="50dp"
android:layout_height="60dp"
android:layout_alignParentRight="true"
android:layout_alignTop="@+id/brainjar"
android:layout_marginRight="14dp"
android:background="@android:color/transparent"
android:onClick="zoomImage" />
</RelativeLayout>
我的问题是什么?我唯一没有遵循的是布局的多个版本(-large,-small等)。那是问题吗?如果有办法解决它而没有很多布局文件。目前我只有一个布局文件夹,我放置了所有布局文件。
答案 0 :(得分:0)
简答:不要偷懒。
更详细的答案:您的背景会缩放以适应屏幕,但您的其他图片不是,因此背景和其他图片之间的比例在不同设备上有所不同,如果您仔细观察你会发现脑瓶不仅在不同的地方,而且还有不同的大小。要解决这个问题,你可以简单地,或者不那么简单;)需要为不同的屏幕尺寸添加布局,以便布局和扩展你的大脑罐。
答案 1 :(得分:0)
这是最简单的方法!