如何设置图像或按钮的绝对位置,使其在多种屏幕尺寸上保持一致?

时间:2010-12-07 08:42:47

标签: android android-layout

搜索了几个小时后,我无法找到我的情况的确切答案。我目前正在使用RelativeLayout,我所拥有的只是背景图片和按钮。我遇到的问题是将按钮放在我想要的确切位置(偏离中心稍微偏移)。

我的第一次尝试是修改按钮的layout_margins。虽然这适用于我正在使用的当前仿真器(3.7in WVGA),但对于不同的屏幕尺寸(例如HVin中的3.2英寸),按钮的定位略微偏离。

然后我尝试修改父布局的填充但遇到了同样的问题。我的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:paddingLeft="98dip" android:paddingBottom="68dip" android:background="@drawable/background">
    <Button android:id="@+id/starttimer" 
            android:background="@drawable/button" 
            android:layout_width="wrap_content" android:clickable="true" android:layout_height="wrap_content" android:layout_alignParentBottom="true"/>
</RelativeLayout>

如果我完全不接受我的方法,请告诉我。这似乎是一个非常简单的问题,我很沮丧,我花了这么长时间试图得到它。谢谢你的帮助!

2 个答案:

答案 0 :(得分:2)

我认为您希望将按钮放在父母底部的中心位置稍微偏移,尝试layout_centerHorizontal然后添加您的首选边距。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:paddingLeft="98dip" android:paddingBottom="68dip" android:background="@drawable/background">
    <Button android:id="@+id/starttimer" 
            android:background="@drawable/button" 
            android:layout_width="wrap_content" android:clickable="true" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_centerHorizontal="true" android_marginLeft="5dp"/>
</RelativeLayout>

答案 1 :(得分:0)

绝对布局用于控件的绝对位置。