XML中的Android按钮对齐关闭

时间:2013-12-06 22:45:56

标签: android xml layout alignment

我正在使用相对布局,我试图将一个25dp的按钮放在中心的左边,一个25dp放在它的右边。我把一个Anchor放在CenterHorizo​​ntal上,然后对齐它的按钮。但他们不会在他们认为的地方对齐。两者都结束于锚的左侧。如果我改变对齐值,左边的那个不动,右边的一个移动,但它仍然偏离大约150dp。 代码(我已经删除了此代码中间的textViews和EditTexts以缩短它们):

    <ScrollView    
      xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:background="#00FF00"
    android:fadeScrollbars="true">
    <RelativeLayout 

    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    tools:context=".MainActivity" >



    <View
        android:id="@+id/mCenterAnchor"
        android:layout_centerHorizontal="true"
        android:layout_width="1dp"
        android:layout_height="1dp"
        android:layout_below="@+id/etAnnonsPris"
        />

    <Button
        android:id="@+id/knapp_spara"
        android:layout_width="100sp"
        android:layout_height="wrap_content"
        android:layout_below="@+id/etAnnonsPris"
        android:layout_marginTop="29dp"
        android:layout_toLeftOf="@+id/mCenterAnchor"
        android:layout_marginRight="25dp"
        android:text="@string/knapp_spara" />

    <Button
        android:id="@+id/knapp_visa"
        android:layout_width="100sp"
        android:layout_height="wrap_content"
        android:layout_toRightOf="@+id/mCenterAnchor"
        android:layout_marginLeft="25dp"
        android:layout_alignBaseline="@+id/knapp_spara"
        android:text="@string/knapp_visa" />

</RelativeLayout>
</ScrollView>

图片:http://i.stack.imgur.com/k2QQv.png

2 个答案:

答案 0 :(得分:0)

尝试使用LinearLayout或RelativeLayout包裹两个按钮:

<ScrollView    
      xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:background="#00FF00"
    android:fadeScrollbars="true">
    <RelativeLayout 

    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    tools:context=".MainActivity" >



    <RelativeLayout
        android:id="@+id/mCenterAnchor"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_below="@+id/etAnnonsPris">

        <Button
            android:id="@+id/knapp_spara"
            android:layout_width="100sp"
            android:layout_height="wrap_content"
            android:layout_marginTop="29dp"
            android:layout_marginRight="25dp"
            android:text="@string/knapp_spara" />

        <Button
            android:id="@+id/knapp_visa"
            android:layout_width="100sp"
            android:layout_height="wrap_content"
            android:layout_toRightOf="@+id/knapp_spara"
            android:layout_marginLeft="25dp"
            android:layout_alignBaseline="@+id/knapp_spara"
            android:text="@string/knapp_visa" />
    </RelativeLayout>

</RelativeLayout>
</ScrollView>

答案 1 :(得分:0)

你不需要设置它们的所有属性android:layout_below =“@ + id / etAnnonsPris”

因为你使用RelativeLayout,只需设置相对位置即可:

<View
    android:id="@+id/mCenterAnchor"
    android:layout_centerHorizontal="true"
    android:layout_width="1dp"
    android:layout_height="1dp"
    />

<Button
    android:id="@+id/knapp_spara"
    android:layout_width="100sp"
    android:layout_height="wrap_content"
    android:layout_below="@+id/etAnnonsPris"
    android:layout_marginTop="29dp"
    android:layout_toLeftOf="@+id/mCenterAnchor"
    android:layout_marginRight="25dp"
    android:text="@string/knapp_spara" />

<Button
    android:id="@+id/knapp_visa"
    android:layout_width="100sp"
    android:layout_height="wrap_content"
    android:layout_toRightOf="@+id/mCenterAnchor"
    android:layout_marginLeft="25dp"
    android:text="@string/knapp_visa" />