如何在嵌套的relativeLayout中居中按钮?

时间:2014-06-04 23:54:56

标签: android xml adt

这里有一点XML。我无法弄清楚如何将三个较低的设置按钮居中。第一个relativeLayout中的设置按钮中心很好,但是其他人没有= [我已经弄乱了抱歉的马虎xml,必须进去清理它!

我一直试图纠正它:

android:layout_gravity="center"

android:gravity="center"

没有运气。

以下是代码在运行时的样子示例:http://i62.tinypic.com/2eai9g3.png

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 
    xmlns:tools="http://schemas.android.com/tools"
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/body"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center"

    tools:context=".RelativeLayoutAndroidExample" >

         <RelativeLayout 
            android:id="@+id/mountLayout"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content">


                <Button
                    android:id="@+id/feedButton"
                    android:layout_width="@dimen/button1_width"
                    android:layout_height="@dimen/button1_height"
                    android:layout_alignLeft="@+id/mountProgressBar"
                    android:layout_centerVertical="true"
                    android:ellipsize="end"
                    android:includeFontPadding="false"
                    android:maxLines="1"
                    android:onClick="onFeedButtonClick"
                    android:text="@string/feedMountButton"
                    android:textSize="@dimen/h3_size" />

                <Button
                    android:id="@+id/resetButton"
                    android:layout_width="@dimen/button1_width"
                    android:layout_height="@dimen/button1_height"
                    android:layout_alignRight="@+id/mountProgressBar"
                    android:layout_centerVertical="true"
                    android:onClick="onResetButtonClick"
                    android:text="@string/resetMountTimerButton"
                    android:textSize="@dimen/h3_size" />

                <ImageButton
                    android:id="@+id/mountSettingsButton"
                    android:layout_width="@dimen/mountSettingsButtonWidth"
                    android:layout_height="@dimen/button1_height"
                    android:layout_centerHorizontal="true"
                    android:layout_centerVertical="true"
                  android:contentDescription="@string/mountSettingsButtonText"
                    android:onClick="onMountSettingsButtonClick"
                    android:scaleType="fitCenter"
                    android:src="@drawable/ic_action_settings" />

                <ProgressBar
                    android:id="@+id/mountProgressBar"
                    style="@android:style/Widget.ProgressBar.Horizontal"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_marginLeft="@dimen/margin_left_20"
                    android:layout_marginRight="@dimen/margin_right_20"
                    android:layout_marginTop="50dp"
                    android:max="72000000"
                    android:minHeight="@dimen/mount_progress_bar_min_height"
                    android:progress="0" />

                <TextView
                    android:id="@+id/mount_countdown"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_alignBottom="@+id/mountProgressBar"
                    android:layout_alignTop="@+id/mountProgressBar"
                    android:layout_centerHorizontal="true"
                    android:layout_marginTop="@dimen/countdown_margin_top"
                    android:gravity="center"
                    android:text="@string/title_mount_countdown"
                    android:textAppearance="?android:attr/textAppearanceLarge"
                    android:textColor="?android:attr/textColorPrimaryInverse"
                    android:textSize="@dimen/h3_size"
                    android:textStyle="bold" />

                <TextView
                    android:id="@+id/feedAtTextView"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_alignParentLeft="true"
                    android:layout_alignParentTop="true"
                    android:text="@string/lastFedPlaceholder"
                    android:textSize="@dimen/feedAt_lastFed_text_size" />

                <TextView
                    android:id="@+id/lastFedTextView"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_alignParentRight="true"
                    android:layout_alignParentTop="true"
                    android:text="@string/feedAtPlaceholder"
                    android:textSize="@dimen/feedAt_lastFed_text_size" />

        </RelativeLayout>

         <RelativeLayout
             android:id="@+id/layoutSpacer"
             android:layout_width="match_parent"
             android:layout_height="@dimen/spacer_height"
             android:gravity="center" >
             </RelativeLayout>

         <RelativeLayout
            android:id="@+id/bsLayout"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:gravity="center" >

                <Button
                    android:id="@+id/bsButton"
                    android:layout_width="@dimen/button1_width"
                    android:layout_height="@dimen/button1_height"
                    android:layout_alignLeft="@+id/bsProgressBar"
                    android:layout_centerVertical="true"
                    android:ellipsize="end"
                    android:includeFontPadding="false"
                    android:maxLines="1"
                    android:onClick="onFeedButtonClick"
                    android:text="@string/bs"
                    android:textSize="@dimen/h3_size" />

                <Button
                    android:id="@+id/bsResetButton"
                    android:layout_width="@dimen/button1_width"
                    android:layout_height="@dimen/button1_height"
                    android:layout_alignRight="@+id/bsProgressBar"
                    android:layout_centerVertical="true"
                    android:onClick="onResetButtonClick"
                    android:text="@string/resetMountTimerButton"
                    android:textSize="@dimen/h3_size" />

                <ImageButton
                    android:id="@+id/bsSettingsButton"
                    android:layout_width="@dimen/mountSettingsButtonWidth"
                    android:layout_height="@dimen/button1_height"
                    android:layout_centerHorizontal="true"
                    android:layout_centerVertical="true"
                    android:contentDescription="@string/mountSettingsButtonText"
                    android:onClick="onMountSettingsButtonClick"
                    android:scaleType="fitCenter"
                    android:src="@drawable/ic_action_settings" />

                <ProgressBar
                    android:id="@+id/bsProgressBar"
                    style="@android:style/Widget.ProgressBar.Horizontal"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_marginLeft="@dimen/margin_left_20"
                    android:layout_marginRight="@dimen/margin_right_20"
                    android:layout_marginTop="50dp"
                    android:max="72000000"
                    android:minHeight="@dimen/mount_progress_bar_min_height"
                    android:progress="0" />

                <TextView
                    android:id="@+id/bs_countdown"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_alignBottom="@+id/bsProgressBar"
                    android:layout_alignTop="@+id/bsProgressBar"
                    android:layout_centerHorizontal="true"
                    android:layout_marginTop="@dimen/countdown_margin_top"
                    android:gravity="center"
                    android:text="@string/bs_countdown"
                    android:textAppearance="?android:attr/textAppearanceLarge"
                    android:textColor="?android:attr/textColorPrimaryInverse"
                    android:textSize="@dimen/h3_size"
                    android:textStyle="bold" />

                </RelativeLayout>

    <RelativeLayout 
            android:id="@+id/wwLayout"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:gravity="center">

                <Button
                    android:id="@+id/wwButton"
                    android:layout_width="@dimen/button1_width"
                    android:layout_height="@dimen/button1_height"
                    android:layout_alignLeft="@+id/wwProgressBar"
                    android:layout_centerVertical="true"
                    android:ellipsize="end"
                    android:includeFontPadding="false"
                    android:maxLines="1"
                    android:onClick="onFeedButtonClick"
                    android:text="@string/ww"
                    android:textSize="@dimen/h3_size" />

                <Button
                    android:id="@+id/wwResetButton"
                    android:layout_width="@dimen/button1_width"
                    android:layout_height="@dimen/button1_height"
                    android:layout_alignRight="@+id/wwProgressBar"
                    android:layout_centerVertical="true"
                    android:onClick="onResetButtonClick"
                    android:text="@string/resetMountTimerButton"
                    android:textSize="@dimen/h3_size" />

                <ImageButton
                    android:id="@+id/wwSettingsButton"
                    android:layout_width="@dimen/mountSettingsButtonWidth"
                    android:layout_height="@dimen/button1_height"
                    android:layout_centerHorizontal="true"
                    android:layout_centerVertical="true"
                    android:contentDescription="@string/ww_countdown"
                    android:onClick="onMountSettingsButtonClick"
                    android:scaleType="fitCenter"
                    android:src="@drawable/ic_action_settings" />

                <ProgressBar
                    android:id="@+id/wwProgressBar"
                    style="@android:style/Widget.ProgressBar.Horizontal"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_marginLeft="@dimen/margin_left_20"
                    android:layout_marginRight="@dimen/margin_right_20"
                    android:layout_marginTop="50dp"
                    android:max="72000000"
                    android:minHeight="@dimen/mount_progress_bar_min_height"
                    android:progress="0" />

                <TextView
                    android:id="@+id/ww_countdown"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_alignBottom="@+id/wwProgressBar"
                    android:layout_alignTop="@+id/wwProgressBar"
                    android:layout_centerHorizontal="true"
                    android:layout_marginTop="@dimen/countdown_margin_top"
                    android:gravity="center"
                    android:text="@string/ww_countdown"
                    android:textAppearance="?android:attr/textAppearanceLarge"
                    android:textColor="?android:attr/textColorPrimaryInverse"
                    android:textSize="@dimen/h3_size"
                    android:textStyle="bold" />
                </RelativeLayout>

         <!--  CL  --><RelativeLayout
                android:id="@+id/clLayout"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:gravity="center" >

                <Button
                    android:id="@+id/clButton"
                    android:layout_width="@dimen/button1_width"
                    android:layout_height="@dimen/button1_height"
                    android:layout_alignLeft="@+id/clProgressBar"
                    android:layout_centerVertical="true"
                    android:ellipsize="end"
                    android:includeFontPadding="false"
                    android:maxLines="1"
                    android:onClick="onFeedButtonClick"
                    android:text="@string/cl"
                    android:textSize="@dimen/h3_size" />

                <Button
                    android:id="@+id/clResetButton"
                    android:layout_width="@dimen/button1_width"
                    android:layout_height="@dimen/button1_height"
                    android:layout_alignRight="@+id/clProgressBar"
                    android:layout_centerVertical="true"
                    android:onClick="onResetButtonClick"
                    android:text="@string/resetMountTimerButton"
                    android:textSize="@dimen/h3_size" />

                <ImageButton
                    android:id="@+id/clSettingsButton"
                    android:layout_width="@dimen/mountSettingsButtonWidth"
                    android:layout_height="@dimen/button1_height"
                    android:layout_centerHorizontal="true"
                    android:layout_centerVertical="true"
                    android:contentDescription="@string/cl_countdown"
                    android:onClick="onMountSettingsButtonClick"
                    android:scaleType="fitCenter"
                    android:src="@drawable/ic_action_settings" />

                <ProgressBar
                    android:id="@+id/clProgressBar"
                    style="@android:style/Widget.ProgressBar.Horizontal"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_marginLeft="@dimen/margin_left_20"
                    android:layout_marginRight="@dimen/margin_right_20"
                    android:layout_marginTop="50dp"
                    android:max="72000000"
                    android:minHeight="@dimen/mount_progress_bar_min_height"
                    android:progress="0" />

                <TextView
                    android:id="@+id/cl_countdown"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_alignBottom="@+id/clProgressBar"
                    android:layout_alignTop="@+id/clProgressBar"
                    android:layout_centerHorizontal="true"
                    android:layout_marginTop="@dimen/countdown_margin_top"
                    android:gravity="center"
                    android:text="@string/cl_countdown"
                    android:textAppearance="?android:attr/textAppearanceLarge"
                    android:textColor="?android:attr/textColorPrimaryInverse"
                    android:textSize="@dimen/h3_size"
                    android:textStyle="bold" />
                </RelativeLayout>


        <TextView
            android:id="@+id/timeStampTest4"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/splash_the" />

        <TextView
            android:id="@+id/timeStampTest3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/splash_the" />

        <TextView
            android:id="@+id/timeStampTest2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/splash_the" />

        <TextView
            android:id="@+id/timeStampTest1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/splash_the" />

</LinearLayout>

2 个答案:

答案 0 :(得分:0)

您应该使用android:layout_centerInParent="true"将其与其父级对齐。

答案 1 :(得分:0)

我会使用几个LinearLayouts,其方向设置为水平。然后居中并使用边距或填充来实现您想要的外观。

相关问题