水平中心按钮不起作用

时间:2012-04-06 13:32:17

标签: android android-layout

HY!

我想水平居中我的按钮,但这从不起作用。

我的布局:

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


    <RelativeLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" >

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/minage"
        android:layout_alignParentLeft="true"
        android:padding="5dp"  />

    <TextView
            android:id="@+id/ml_minage_value"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true" 
            android:padding="5dp"/>

    </RelativeLayout>


    <SeekBar
        android:id="@+id/ml_minage"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:max="100"
        style="@style/NFFSeek"
        android:progressDrawable="@drawable/myseekbar"
        android:layout_margin="5dp" />

    <RelativeLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" >
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/maxage" 
        android:padding="5dp"/>
    <TextView
            android:id="@+id/ml_maxage_value"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true"
            android:padding="5dp" />

    </RelativeLayout>

    <SeekBar
        android:id="@+id/ml_maxage"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        style="@style/NFFSeek"
        android:progressDrawable="@drawable/myseekbar" 
        android:layout_margin="5dp" />

    <RelativeLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" >

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/distance"
        android:padding="5dp" />

    <TextView
            android:id="@+id/ml_distance_value"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true"
            android:padding="5dp" />
    </RelativeLayout>

    <SeekBar
        android:id="@+id/ml_distance"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        style="@style/NFFSeek"
        android:progressDrawable="@drawable/myseekbar" 
        android:layout_margin="5dp" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/gender"
        android:padding="5dp" />

    <RadioGroup
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:checkedButton="@drawable/rbon" >

        <RadioButton
            android:id="@+id/ml_female"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_margin="5dp"
            android:button="@drawable/rbselector"
            android:checked="true"
            android:drawablePadding="10dp"
            android:text="@string/rb_female"
            android:textColor="#000000"
            android:paddingLeft="42dp" />

        <RadioButton
            android:id="@+id/ml_male"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/rb_male"
            android:button="@drawable/rbselector"
            android:layout_margin="5dp"
            android:textColor="#000000"
            android:paddingLeft="42dp"
            />
    </RadioGroup>

    <RelativeLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" >

    <Button
        android:id="@+id/ml_stbutton"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_margin="15dp"
        android:background="@drawable/custom_button"
        android:layout_alignParentBottom="true"
        android:layout_centerInParent="true"
        android:layout_alignParentTop="true"
        android:gravity="center"
        android:padding="10dp"
        android:text="Flirt"
        android:textColor="#ffffff"
        android:textSize="12pt"
        android:typeface="serif" />

    </RelativeLayout>

</LinearLayout>

这个xml不适合中间的按钮请帮忙。

enter image description here

3 个答案:

答案 0 :(得分:1)

问题是RelativeLayout没有跨越页面的宽度,宽度为wrap_content。按钮位于RelativeLayout的中心位置,但该布局仅与按钮一样宽,并且与屏幕左侧混合。

将内部RelativeLayout的宽度设为match_parent

<RelativeLayout
  android:layout_width="match_parent"
  android:layout_height="wrap_content"
  ...

答案 1 :(得分:0)

<RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >

    <Button
        android:id="@+id/ml_stbutton"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_margin="15dp"
        android:background="@drawable/custom_button"
        android:layout_centerInParent="true"
        android:gravity="center"
        android:padding="10dp"
        android:text="Flirt"
        android:textColor="#ffffff"
        android:textSize="12pt"
        android:typeface="serif" />

    </RelativeLayout>

答案 2 :(得分:0)

这不直接与您的问题直接对话,但您的视图层次结构过于复杂。我建议您将所有LinearLayoutRelativeLayout元素替换为一个涵盖整个事件的RelativeLayout元素。