android可以安卓:重力吗?

时间:2011-06-21 12:57:02

标签: android relativelayout

我整天都在搜索,并想出了一个糟糕的解决方案 我想在屏幕的右侧sida上放置三个ImageButton 没有居中但只是在中心位置之上..

使用下面的代码我得到我想要的结果但是,
如果用户拥有更大的屏幕,他们就没有这个位置吗?

我整天都在尝试android:gravity,而我所能做的就是 非常好地将三个按钮居中。

我应该使用什么来使三个按钮始终保持在那个位置 他们的形象是相爱的。 我在hdpi,mdpi,xhdpi文件夹中有3种不同尺寸的按钮图像。

      <RelativeLayout 
        android:id="@+id/rightRelativeLayout"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        >
            <ImageButton
                android:id="@+id/btn_A" 
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="100dp"
                android:text="A"
                android:src="@drawable/drawer_1"
                android:background="@android:color/transparent"
                android:layout_alignParentRight="true"

            /> 
            <ImageButton
                android:id="@+id/btn_B" 
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="10dp"
                android:text="B"
                android:src="@drawable/drawer_1"
                android:background="@android:color/transparent"
                android:layout_alignParentRight="true"
                android:layout_below="@+id/btn_A"
            />
            <ImageButton
                android:id="@+id/btn_C" 
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="10dp"
                android:text="C"
                android:src="@drawable/drawer_1"
                android:background="@android:color/transparent"
                android:layout_alignParentRight="true"
                android:layout_below="@+id/btn_B"

            />
        </RelativeLayout>

右侧放置三个按钮的图片,当然还有我的女儿。

2 个答案:

答案 0 :(得分:1)

一个选项是将所有三个按钮放在LinearLayout中(为简单起见),然后以编程方式设置此容器的布局。

您可以使用getResources().getDisplayMetrics().heightPizels查看屏幕尺寸,然后相应地设置上边距。

答案 1 :(得分:0)

您可以在RelativeLayout中添加LinearLayout,然后在LinearLayout上使用以下属性:

android:layout_alignParentRight="true"
android:layout_gravity="center_vertical"

编辑:好的,我已经做了一些测试并找到了一种方法,可以在不使用样式编程的情况下做你想做的事情,这里是xml:

<RelativeLayout 
    android:id="@+id/rightRelativeLayout"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_marginBottom="80dip"
    >
    <LinearLayout
        android:orientation="vertical"
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_centerVertical="true">
        <ImageButton
            android:id="@+id/btn_A" 
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="A"
            android:src="@drawable/icon"
            android:background="@android:color/transparent"

        /> 
        <ImageButton
            android:id="@+id/btn_B" 
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="B"
            android:src="@drawable/icon"
            android:background="@android:color/transparent"
        />
        <ImageButton
            android:id="@+id/btn_C" 
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="C"
            android:src="@drawable/icon"
            android:background="@android:color/transparent"

        />
        </LinearLayout>
    </RelativeLayout>