[英]How can I center buttons in a nested relativeLayout?
here is a bit of XML. 这是一些XML。 I can't figure out how to center the three lower settings buttons.
我不知道如何将三个较低的设置按钮居中。 The settings button in the first relativeLayout centers fine, but the others do not =[ I've been messing around with Sorry for the sloppy xml, have to go in and clean that up!
第一个relativeLayout中的设置按钮居中,但其他按钮则不= [我一直在对不起,对于松散的xml,必须进入并进行清理!
I've been attempting to correct it with: 我一直在尝试用以下方法纠正它:
android:layout_gravity="center"
and 和
android:gravity="center"
with no luck. 没有运气。
Here's an example of what the code looks like when it runs: http://i62.tinypic.com/2eai9g3.png 这是代码运行时的示例: 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>
您应该使用android:layout_centerInParent="true"
将其与其父项对齐。
I would use several LinearLayouts with the orientation set the horizontal. 我将使用几个LinearLayouts,将方向设置为水平。 Then center and use margins or padding to achieve the look you want.
然后居中并使用边距或填充来获得所需的外观。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.