我的布局中有五个图像视图,我应该将每个图像视图放在背景上的特定位置。在不同屏幕尺寸上运行我的应用程序时,图像视图的位置向上移动。
我创建了以下文件夹。
res / layout- small
res / layout-normal
res / layout-large
res / layout-xlarge
这里你会发现我的布局。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/body"
android:layout_below="@+id/header"
android:background="@drawable/upn">
<ImageView
android:layout_width="45dip"
android:layout_height="20dip"
android:id="@+id/U1"
android:layout_gravity="center"
android:background="#f40c0d"
android:padding="1dip"
android:layout_marginRight="26dip"
android:layout_marginEnd="26dip"
android:layout_marginBottom="96dip"
android:layout_above="@+id/U5"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true" />
<ImageView
android:layout_width="45dip"
android:layout_height="20dip"
android:id="@+id/U3"
android:layout_gravity="center"
android:background="#f40c0d"
android:padding="1dip"
android:layout_marginRight="63dip"
android:layout_marginEnd="63dip"
android:layout_above="@+id/U1"
android:layout_toLeftOf="@+id/U1"
android:layout_toStartOf="@+id/U1"
android:layout_marginBottom="22dip" />
<ImageView
android:layout_width="45dip"
android:layout_height="20dip"
android:id="@+id/U2"
android:layout_gravity="center"
android:background="#f40c0d"
android:padding="1dip"
android:layout_marginRight="5dip"
android:layout_marginEnd="5dip"
android:layout_marginBottom="103dip"
android:layout_alignParentBottom="true"
android:layout_alignRight="@+id/U3"
android:layout_alignEnd="@+id/U3"
/>
<ImageView
android:layout_width="45dip"
android:layout_height="20dip"
android:id="@+id/U4"
android:layout_gravity="center"
android:background="#f40c0d"
android:padding="1dip"
android:layout_above="@+id/U2"
android:layout_alignLeft="@+id/U5"
android:layout_alignStart="@+id/U5"
android:layout_marginBottom="18dip"
/>
<ImageView
android:layout_width="45dip"
android:layout_height="20dip"
android:id="@+id/U5"
android:layout_gravity="center"
android:background="#f40c0d"
android:padding="1dip"
android:layout_marginLeft="68dip"
android:layout_marginStart="68dp"
android:layout_above="@+id/U2"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_marginBottom="43dp"
/>
</RelativeLayout>
</RelativeLayout>
答案 0 :(得分:0)
res / layout / your_layout.xml //正常屏幕尺寸的布局(&#34;默认&#34;)
res / layout-large / your_layout.xml //适用于大屏幕尺寸的布局
res / layout-xlarge / your_layout.xml //超大屏幕尺寸的布局
res / layout-xlarge-land / your_layout.xml //横向格式超大的布局
并在每个文件夹中..具有不同图像位置的your_layout.xml
例如。 RES / layout_large / your_layout.xml
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/body"
android:layout_below="@+id/header"
android:background="@drawable/upn">
<ImageView
android:id="@+id/my_iv"
.....
/>
</RelativeLayout>
也许您必须在清单文件中添加此行
<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#support
为不同的屏幕尺寸提供不同的布局 默认情况下,Android会调整应用程序布局的大小以适应当前的设备屏幕。在大多数情况下,这很好。在其他情况下,您的UI可能看起来不太好,可能需要针对不同的屏幕尺寸进行调整。例如,在较大的屏幕上,您可能需要调整某些元素的位置和大小以利用额外的屏幕空间,或者在较小的屏幕上,您可能需要调整大小以使所有内容都适合屏幕。
可用于提供特定于大小的资源的配置限定符是small,normal,large和xlarge。例如,超大屏幕的布局应该在layout-xlarge /.
>中 从Android 3.2(API级别13)开始,不推荐使用上述大小组,您应该使用sw&lt; N&gt; dp配置限定符来定义布局资源所需的最小可用宽度。例如,如果多窗格平板电脑布局需要至少600dp的屏幕宽度,则应将其放在 layout-sw600dp / 中。使用新技术声明布局资源将在有关为Android 3.2声明平板电脑布局的部分中进一步讨论。