Android相对布局中心

时间:2014-07-28 09:15:24

标签: android

在我的相对布局中,我尝试将2个数字选择器居中,第一个数字选择器中心,但第二个数字选择器仅在第一个数字选择器加入后,它们不会同时居中。我认为它缺少一些小但却无法使其发挥作用。在我的代码下方,以及以红色显示问题的图片。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal"
    android:paddingLeft="16dp"
    android:paddingRight="16dp" >

    <NumberPicker
        android:id="@+id/test"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_centerInParent="true" />

    <NumberPicker
        android:id="@+id/test2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_centerInParent="true"
        android:layout_toRightOf="@+id/test" />

    <EditText
        android:id="@+id/test3"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_below="@+id/purchaseCent"
        android:layout_centerHorizontal="true"
        android:background="@drawable/edittext_bottom_bg"
        android:hint="@string/pin"
        android:inputType="numberPassword"
        android:padding="10dp"
        android:textColorHint="#cccccc" />

    <ImageButton
        android:id="@+id/test4"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentRight="true"
        android:layout_below="@+id/test2"
        android:background="@drawable/round_button"
        android:onClick="testMethod"
        android:src="@drawable/ic_test" />

</RelativeLayout>

two muppets

3 个答案:

答案 0 :(得分:3)

尝试添加“spacer” 它将是1dp宽(因此可以完全转换)并且完全透明 它必须有一个id,以便NumberPickers可以引用它。

这个放在中心位置。

其他两个观点将简单地在其左边一个,一个在右边。

解决。

答案 1 :(得分:0)

尝试&#34;存储&#34;将NumberPickers放入同一个对象(即另一个RelativeLayout,以便您可以将它们并排放置),然后根据需要居中。

答案 2 :(得分:0)

请尝试这种方式,希望这有助于您解决问题。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center">
        <NumberPicker
            android:id="@+id/test"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"/>

        <NumberPicker
            android:id="@+id/test2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentTop="true"/>
    </LinearLayout>

    <EditText
        android:id="@+id/test3"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@drawable/edittext_bottom_bg"
        android:hint="@string/pin"
        android:inputType="numberPassword"
        android:padding="10dp"
        android:layout_marginTop="10dp"
        android:textColorHint="#cccccc" />

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:gravity="bottom|center_horizontal">
        <ImageButton
            android:id="@+id/test4"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="@drawable/round_button"
            android:onClick="testMethod"
            android:src="@drawable/ic_test" />
    </LinearLayout>
</LinearLayout>