表格布局在Android应用程序上删除第4列

时间:2016-06-17 06:43:06

标签: java android android-layout

我试图为android创建一个简单的计算应用程序。我使用了表格布局并添加了4行和4列。在每列中我添加一个按钮。我的问题是第4栏切出,如下图所示, enter image description here

以下是我的代码

 <?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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: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="com.tashtoons.calculator.Calculator">

    <LinearLayout
        android:orientation="vertical"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_alignParentTop="true"
        android:weightSum="1"
        android:layout_alignParentRight="false"
        android:layout_alignParentEnd="false">

        <TextView
            android:layout_width="343dp"
            android:layout_height="77dp"
            android:id="@+id/answerScreen"
            android:layout_gravity="center_horizontal" />

        <TableLayout
            android:layout_width="371dp"
            android:shrinkColumns="1"
            android:layout_height="match_parent"
            android:baselineAligned="true">


            <TableRow
                android:layout_width="match_parent"
                android:layout_height="match_parent">

                <Button
                    android:text="1"
                    android:id="@+id/button"

                    android:layout_column="0"

                    android:width="5px" />

                <Button


                    android:text="2"
                    android:id="@+id/button2"
                    android:layout_column="1"
                    android:width="5px" />

                <Button


                    android:text="3"
                    android:id="@+id/button3"
                    android:layout_column="2"
                    android:width="5px" />

                <Button


                    android:text="+"
                    android:id="@+id/button4"
                    android:layout_column="3"
                    android:width="5px" />
            </TableRow>

            <TableRow
                android:layout_width="match_parent"
                android:layout_height="match_parent">

                <Button

                    android:text="4"
                    android:id="@+id/button5"
                    android:layout_column="0"

                    android:width="5px" />

                <Button


                    android:text="4"
                    android:id="@+id/button6"
                    android:layout_column="1"
                    android:width="5px" />

                <Button


                    android:text="5"
                    android:id="@+id/button7"
                    android:layout_column="2"
                    android:width="5px" />

                <Button


                    android:text="-"
                    android:id="@+id/button8"
                    android:layout_column="3"
                    android:width="5px" />
            </TableRow>

            <TableRow
                android:layout_width="match_parent"
                android:layout_height="match_parent">

                <Button

                    android:text="6"
                    android:id="@+id/button9"
                    android:layout_column="0"

                    android:width="5px" />

                <Button


                    android:text="7"
                    android:id="@+id/button10"
                    android:layout_column="1"
                    android:width="5px" />

                <Button


                    android:text="8"
                    android:id="@+id/button11"
                    android:layout_column="2"
                    android:width="5px" />

                <Button


                    android:text="X"
                    android:id="@+id/button12"
                    android:layout_column="3"
                    android:width="5px" />
            </TableRow>

            <TableRow
                android:layout_width="match_parent"
                android:layout_height="match_parent">

                <Button

                    android:text="9"
                    android:id="@+id/button13"
                    android:layout_column="0"

                    android:width="5px" />

                <Button


                    android:text="0"
                    android:id="@+id/button14"
                    android:layout_column="1"
                    android:width="5px" />

                <Button


                    android:text="%"
                    android:id="@+id/button15"
                    android:layout_column="2"
                    android:width="5px" />

                <Button


                    android:text="/"
                    android:id="@+id/button16"
                    android:layout_column="3"
                    android:width="5px" />
            </TableRow>
        </TableLayout>

    </LinearLayout>
</RelativeLayout>

如何阻止它切断?

3 个答案:

答案 0 :(得分:1)

代替您的代码使用下面的代码。

每当您必须提供所有same widthButtonTextViewLinearLayout的属性为WeightSum。这可以等于分割部分。

所以将xml代码更改为以下格式。

xml代码:

<RelativeLayout 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: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="com.example.softeng.xxy.ThirdActivity">

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="50dp"
        android:id="@+id/firstRow">

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:weightSum="4">

            <Button
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:text="1" />

            <Button
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:text="2" />

            <Button
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:text="3" />

            <Button
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:text="+" />

        </LinearLayout>
    </RelativeLayout>

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/secondRow"
        android:layout_below="@+id/firstRow">

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:weightSum="4">

            <Button
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:text="4" />

            <Button
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:text="4" />

            <Button
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:text="5" />

            <Button
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:text="-" />

        </LinearLayout>
    </RelativeLayout>

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/thirdRow"
        android:layout_below="@+id/secondRow">

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:weightSum="4">

            <Button
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:text="6" />

            <Button
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:text="7" />

            <Button
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:text="8" />

            <Button
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:text="X" />

        </LinearLayout>
    </RelativeLayout>

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/forthRow"
        android:layout_below="@+id/thirdRow">

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:weightSum="4">

            <Button
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:text="9" />

            <Button
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:text="0" />

            <Button
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:text="%" />

            <Button
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:text="/" />

        </LinearLayout>
    </RelativeLayout>

</RelativeLayout>

输出

enter image description here

答案 1 :(得分:0)

试试这可能会对你有所帮助

使用

android:layout_width="match_parent"

TableLayout

而不是

android:layout_width="371dp"

答案 2 :(得分:0)

如果视图的权重= 1,则应将layout_width设置为0dp,以使其在屏幕上具有均匀的数量或空间