我正试图在ImageView上的特定位置粘贴一些ImageButtons。 问题是我必须使用ImageButtons的绝对布局,当我更改屏幕分辨率时,所有ImageButtons都会从他们的位置移动。
我在网上寻找答案,但找不到任何答案。
谢谢。
答案 0 :(得分:0)
我建议您不要在布局中使用绝对位置。如果可以将按钮放在正确的位置,请使用容器和一些边距。
如果您确实需要绝对位置,具体取决于设备,您可以为每种分辨率使用特定尺寸。见这里:
http://developer.android.com/training/basics/supporting-devices/screens.html
答案 1 :(得分:0)
只需使用relative layout代替absolute layout。如果你不喜欢相对布局,你可以使用绝对布局,它没有任何问题,它在大多数情况下都不实用。您可以使用绝对布局并使用以下内容缩放屏幕上的视图:Scale a view and its layered subviews relatively
Dianne Hackborn (works at google) says:
我再说一遍:我们不打算从未来版本中删除AbsoluteLayout,但我们强烈反对人们不要使用它。
如果您选择不相信我,欢迎您,但我不对您做出决定负责。
这是叠加按钮的方法:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/RelativeLayout1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<ImageView
android:id="@+id/imageView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:src="@drawable/image" />
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:layout_marginBottom="34dp"
android:layout_marginRight="40dp"
android:text="Button" />
<Button
android:id="@+id/button3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignRight="@+id/button2"
android:layout_below="@+id/button1"
android:layout_marginRight="37dp"
android:layout_marginTop="108dp"
android:text="Button" />
</RelativeLayout>