【问题标题】:Need help aligning buttons to bottom需要帮助将按钮对齐到底部
【发布时间】:2015-10-25 14:55:11
【问题描述】:

这是目前的样子:

http://i.stack.imgur.com/eaBpP.png

我希望按钮在底部对齐(并从侧面覆盖所有屏幕)。我尝试这样做,但得到了意想不到的结果。这是布局代码:

<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="#000000" >

    <GridLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:columnCount="3" >

        <TextView
            android:id="@+id/result"
            android:layout_width="238dp"
            android:layout_height="wrap_content"
            android:layout_column="0"
            android:layout_gravity="left"
            android:layout_marginRight="40dp"
            android:layout_row="0"
            android:gravity="right"
            android:text=""
            android:textAppearance="?android:attr/textAppearanceLarge"
            android:textColor="#FFFF00"
            android:textSize="35sp"
            android:textStyle="bold" />

        <Space
            android:layout_width="271dp"
            android:layout_height="1dp"
            android:layout_column="0"
            android:layout_row="0" />

        <ImageButton
            android:id="@+id/clear"
            android:layout_width="wrap_content"
            android:layout_height="50dp"
            android:layout_column="1"
            android:layout_columnSpan="2"
            android:layout_gravity="left"
            android:layout_row="1"
            android:layout_rowSpan="2"
            android:paddingLeft="4dp"
            android:src="@android:drawable/ic_input_delete" />

        <Space
            android:layout_width="12dp"
            android:layout_height="15dp"
            android:layout_column="2"
            android:layout_row="1" />

        <Space
            android:layout_width="100dp"
            android:layout_height="14dp"
            android:layout_column="0"
            android:layout_row="2" />

        <Space
            android:layout_width="100dp"
            android:layout_height="13dp"
            android:layout_row="2" />
    </GridLayout>

    <TableRow
        android:id="@+id/tableRow1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:layout_marginTop="30dp"
        android:gravity="center" >

        <Button
            android:id="@+id/seven"
            android:layout_width="80dp"
            android:layout_height="100dp"
            android:text="7"
            android:textSize="50sp" />

        <Button
            android:id="@+id/eight"
            android:layout_width="80dp"
            android:layout_height="100dp"
            android:text="8"
            android:textSize="50sp" />

        <Button
            android:id="@+id/nine"
            android:layout_width="80dp"
            android:layout_height="100dp"
            android:text="9"
            android:textSize="50sp" />

        <Button
            android:id="@+id/divide"
            style="@dimen/activity_horizontal_margin"
            android:layout_width="80dp"
            android:layout_height="100dp"
            android:text="/"
            android:textSize="50sp" />
    </TableRow>

    <TableRow
        android:id="@+id/tableRow2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:gravity="center" >

        <Button
            android:id="@+id/four"
            android:layout_width="wrap_content"
            android:layout_height="100dp"
            android:text="4"
            android:textSize="50sp" />

        <Button
            android:id="@+id/five"
            android:layout_width="wrap_content"
            android:layout_height="100dp"
            android:text="5"
            android:textSize="50sp" />

        <Button
            android:id="@+id/six"
            android:layout_width="wrap_content"
            android:layout_height="100dp"
            android:text="6"
            android:textSize="50sp" />

        <Button
            android:id="@+id/multiply"
            android:layout_width="wrap_content"
            android:layout_height="100dp"
            android:text="x"
            android:textSize="50sp" />
    </TableRow>

    <TableRow
        android:id="@+id/tableRow9"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:gravity="center" >

        <Button
            android:id="@+id/one"
            android:layout_width="wrap_content"
            android:layout_height="100dp"
            android:text="1"
            android:textSize="50sp" />

        <Button
            android:id="@+id/two"
            android:layout_width="wrap_content"
            android:layout_height="100dp"
            android:text="2"
            android:textSize="50sp" />

        <Button
            android:id="@+id/three"
            android:layout_width="wrap_content"
            android:layout_height="100dp"
            android:text="3"
            android:textSize="50sp" />

        <Button
            android:id="@+id/minus"
            android:layout_width="wrap_content"
            android:layout_height="100dp"
            android:text="-"
            android:textSize="50sp" />
    </TableRow>

    <TableRow
        android:id="@+id/tableRow14"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:gravity="center" >

        <Button
            android:id="@+id/dot"
            android:layout_width="wrap_content"
            android:layout_height="100dp"
            android:text="."
            android:textSize="50sp" />

        <Button
            android:id="@+id/zero"
            android:layout_width="wrap_content"
            android:layout_height="100dp"
            android:text="0"
            android:textSize="50sp" />

        <Button
            android:id="@+id/equals"
            android:layout_width="wrap_content"
            android:layout_height="100dp"
            android:text="="
            android:textSize="50sp" />

        <Button
            android:id="@+id/plus"
            android:layout_width="wrap_content"
            android:layout_height="100dp"
            android:text="+"
            android:textSize="50sp" />
    </TableRow>

</TableLayout>

【问题讨论】:

标签: java android xml eclipse layout


【解决方案1】:

我添加了一些示例代码。尝试使用这个。这只是示例代码....

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#fff"
    android:orientation="vertical"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".Home" >

    <EditText
        android:id="@+id/display"
        android:layout_width="fill_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
         />

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:layout_gravity="center"
        android:gravity="center"
        android:orientation="horizontal"
        android:paddingTop="20dp" >

        <Button
            android:id="@+id/seven"
            android:layout_width="0dp"
            android:layout_weight="1"

            android:layout_height="match_parent"
            android:text="7"
             />

        <Button
            android:id="@+id/eight"
            android:layout_width="0dp"
            android:layout_weight="1"
            android:layout_height="match_parent"
            android:text="8" />

        <Button
            android:id="@+id/nine"
            android:layout_width="0dp"
            android:layout_weight="1"
            android:layout_height="match_parent"
            android:text="9" />

        <Button
            android:id="@+id/div"
            android:layout_width="0dp"
            android:layout_weight="1"
            android:layout_height="match_parent"
            android:text="/" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_weight="1"
        android:layout_gravity="center"
        android:gravity="center"
        android:orientation="horizontal"
        android:paddingTop="20dp"
        android:layout_height="0dp" >

        <Button
            android:id="@+id/four"
            android:layout_width="0dp"
            android:layout_weight="1"
            android:layout_height="match_parent"
            android:text="4" />

        <Button
            android:id="@+id/five"
            android:layout_width="0dp"
            android:layout_weight="1"
            android:layout_height="match_parent"
            android:text="5" />

        <Button
            android:id="@+id/six"
            android:layout_width="0dp"
            android:layout_weight="1"
            android:layout_height="match_parent"
            android:text="6" />

        <Button
            android:id="@+id/mul"
            android:layout_width="0dp"
            android:layout_weight="1"
            android:layout_height="match_parent"
            android:text="*" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_weight="1"
        android:layout_gravity="center"
        android:gravity="center"
        android:orientation="horizontal"
        android:paddingTop="20dp" 
        android:layout_height="0dp">

        <Button
            android:id="@+id/one"
            android:layout_width="0dp"
            android:layout_weight="1"
            android:layout_height="match_parent"
            android:text="1" />

        <Button
            android:id="@+id/two"
            android:layout_width="0dp"
            android:layout_weight="1"
            android:layout_height="match_parent"
            android:text="2" />

        <Button
            android:id="@+id/three"
            android:layout_width="0dp"
            android:layout_weight="1"
            android:layout_height="match_parent"
            android:text="3" />

        <Button
            android:id="@+id/sub"
            android:layout_width="0dp"
            android:layout_weight="1"
            android:layout_height="match_parent"
            android:text="-" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_weight="1"
        android:layout_gravity="center"
        android:gravity="center"
        android:orientation="horizontal"
        android:paddingTop="20dp" 
        android:layout_height="0dp">

        <Button
            android:id="@+id/cancel"
            android:layout_width="0dp"
            android:layout_weight="1"
            android:layout_height="match_parent"
            android:text="c" />

        <Button
            android:id="@+id/zero"
            android:layout_width="0dp"
            android:layout_weight="1"
            android:layout_height="match_parent"
            android:text="0" />

        <Button
            android:id="@+id/equal"
            android:layout_width="0dp"
            android:layout_weight="1"
            android:layout_height="match_parent"
            android:text="=" />

        <Button
            android:id="@+id/add"
            android:layout_width="0dp"
            android:layout_weight="1"
            android:layout_height="match_parent"
            android:text="+" />
    </LinearLayout>

</LinearLayout>

【讨论】:

    【解决方案2】:

    尝试使用此代码制作覆盖侧面空间和底部空间的数字网格。如果需要,请查看 o/p。

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="#000000" >
    
    <GridLayout
        android:id="@+id/grid"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:columnCount="3" >
    
        <TextView
            android:id="@+id/result"
            android:layout_width="238dp"
            android:layout_height="wrap_content"
            android:layout_column="0"
            android:layout_gravity="left"
            android:layout_marginRight="40dp"
            android:layout_row="0"
            android:gravity="right"
            android:text=""
            android:textAppearance="?android:attr/textAppearanceLarge"
            android:textColor="#FFFF00"
            android:textSize="35sp"
            android:textStyle="bold" />
    
        <Space
            android:layout_width="271dp"
            android:layout_height="1dp"
            android:layout_column="0"
            android:layout_row="0" />
    
        <ImageButton
            android:id="@+id/clear"
            android:layout_width="wrap_content"
            android:layout_height="50dp"
            android:layout_column="1"
            android:layout_columnSpan="2"
            android:layout_gravity="left"
            android:layout_row="1"
            android:layout_rowSpan="2"
            android:paddingLeft="4dp"
            android:src="@android:drawable/ic_input_delete" />
    
        <Space
            android:layout_width="12dp"
            android:layout_height="15dp"
            android:layout_column="2"
            android:layout_row="1" />
    
        <Space
            android:layout_width="100dp"
            android:layout_height="14dp"
            android:layout_column="0"
            android:layout_row="2" />
    
        <Space
            android:layout_width="100dp"
            android:layout_height="13dp"
            android:layout_row="2" />
    </GridLayout>
    
    <TableLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_below="@id/grid"
        android:gravity="bottom" >
    
        <TableRow
            android:id="@+id/tableRow1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:layout_marginTop="30dp"
            android:gravity="center" >
    
            <Button
                android:id="@+id/seven"
                android:layout_width="0dp"
                android:layout_height="100dp"
                android:layout_weight="1"
                android:text="7"
                android:textSize="50sp" />
    
            <Button
                android:id="@+id/eight"
                android:layout_width="0dp"
                android:layout_height="100dp"
                android:layout_weight="1"
                android:text="8"
                android:textSize="50sp" />
    
            <Button
                android:id="@+id/nine"
                android:layout_width="0dp"
                android:layout_height="100dp"
                android:layout_weight="1"
                android:text="9"
                android:textSize="50sp" />
    
            <Button
                android:id="@+id/divide"
                android:layout_width="0dp"
                android:layout_height="100dp"
                android:layout_weight="1"
                android:text="/"
                android:textSize="50sp" />
        </TableRow>
    
        <TableRow
            android:id="@+id/tableRow2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:gravity="center" >
    
            <Button
                android:id="@+id/four"
                android:layout_width="0dp"
                android:layout_height="100dp"
                android:layout_weight="1"
                android:text="4"
                android:textSize="50sp" />
    
            <Button
                android:id="@+id/five"
                android:layout_width="0dp"
                android:layout_height="100dp"
                android:layout_weight="1"
                android:text="5"
                android:textSize="50sp" />
    
            <Button
                android:id="@+id/six"
                android:layout_width="0dp"
                android:layout_height="100dp"
                android:layout_weight="1"
                android:text="6"
                android:textSize="50sp" />
    
            <Button
                android:id="@+id/multiply"
                android:layout_width="0dp"
                android:layout_height="100dp"
                android:layout_weight="1"
                android:text="x"
                android:textSize="50sp" />
        </TableRow>
    
        <TableRow
            android:id="@+id/tableRow9"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:gravity="center" >
    
            <Button
                android:id="@+id/one"
                android:layout_width="0dp"
                android:layout_height="100dp"
                android:layout_weight="1"
                android:text="1"
                android:textSize="50sp" />
    
            <Button
                android:id="@+id/two"
                android:layout_width="0dp"
                android:layout_height="100dp"
                android:layout_weight="1"
                android:text="2"
                android:textSize="50sp" />
    
            <Button
                android:id="@+id/three"
                android:layout_width="0dp"
                android:layout_height="100dp"
                android:layout_weight="1"
                android:text="3"
                android:textSize="50sp" />
    
            <Button
                android:id="@+id/minus"
                android:layout_width="0dp"
                android:layout_height="100dp"
                android:layout_weight="1"
                android:text="-"
                android:textSize="50sp" />
        </TableRow>
    
        <TableRow
            android:id="@+id/tableRow14"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:gravity="center" >
    
            <Button
                android:id="@+id/dot"
                android:layout_width="0dp"
                android:layout_height="100dp"
                android:layout_weight="1"
                android:text="."
                android:textSize="50sp" />
    
            <Button
                android:id="@+id/zero"
                android:layout_width="0dp"
                android:layout_height="100dp"
                android:layout_weight="1"
                android:text="0"
                android:textSize="50sp" />
    
            <Button
                android:id="@+id/equals"
                android:layout_width="0dp"
                android:layout_height="100dp"
                android:layout_weight="1"
                android:text="="
                android:textSize="50sp" />
    
            <Button
                android:id="@+id/plus"
                android:layout_width="0dp"
                android:layout_height="100dp"
                android:layout_weight="1"
                android:text="+"
                android:textSize="50sp" />
        </TableRow>
    </TableLayout>
    

    【讨论】:

    • 谢谢@prashant,这很有帮助,你能解释一下你的变化吗?
    • 是的@ShahbazTalpur 我使用相对布局作为根布局。它允许使用 align parent bottom 属性轻松地将其子元素对齐在页面底部。我将表格视图中的行括起来,并将它的重力设置为孩子到底部。如果它有效,你可以投票给答案?
    • 是的,我投了赞成票,但由于我的声望很低,它不公开可见。
    猜你喜欢
    • 1970-01-01
    • 2021-05-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-12
    • 2017-01-29
    • 2014-04-23
    • 1970-01-01
    • 2022-10-26
    相关资源
    最近更新 更多