我正在尝试将一些 ImageButtons 粘贴在 ImageView 上的特定位置。问题是我必须对 ImageButtons 使用绝对布局,并且当我更改屏幕分辨率时,所有 ImageButtons 都会从它们的位置移动。
我一直在整个网络上寻找答案,但找不到任何东西。
谢谢你。
我正在尝试将一些 ImageButtons 粘贴在 ImageView 上的特定位置。问题是我必须对 ImageButtons 使用绝对布局,并且当我更改屏幕分辨率时,所有 ImageButtons 都会从它们的位置移动。
我一直在整个网络上寻找答案,但找不到任何东西。
谢谢你。
只需使用相对布局而不是绝对布局。如果你不喜欢相对布局,你可以使用绝对布局,它没有什么问题,只是在大多数情况下不实用。您可以使用绝对布局并通过以下方式缩放屏幕上的视图:Scale a view and its layered subviews relative
我再说一遍:我们不会从未来的版本中删除 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>
我建议您不要在布局中使用绝对位置。如果可以将按钮放在正确的位置,请使用容器和一些边距。
如果您确实需要取决于设备的绝对位置,则可以为每种分辨率使用特定尺寸。看这里:
http://developer.android.com/training/basics/supporting-devices/screens.html