0

今天在开发布局时,我发现了一些奇怪的事情,我的线性布局没有填满可用空间。

//图片已移除

我的左侧布局正在根据内容重新调整大小,但我不希望这样。我想要的是左侧布局的右边缘应该触及右侧布局的左边缘。

我已经尝试使用 layout_weight 填充父级和包装内容,但没有发生任何事情我想要的是这样的。

// 图片已移除

我的布局代码:

<?xml version="1.0" encoding="utf-8"?>

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingTop="6dp"
android:paddingBottom="6dp"
android:paddingLeft="7dp"
android:paddingRight="7dp">

<RelativeLayout
    android:id="@+id/total_top_layout"
    android:layout_height="wrap_content"
    android:layout_width="fill_parent"
    android:paddingBottom="10dp"
    android:layout_centerHorizontal="true">

    <TextView
        android:id="@+id/ammount_view"
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:text="First Text Here"
        android:textSize="20sp"
        android:layout_centerVertical="true" />

    <EditText
        android:id="@+id/total_ammount_input"
        android:layout_height="wrap_content"
        android:layout_width="150dp"
        android:singleLine="true"
        android:layout_alignParentRight="true"
        android:background="@color/hologreennewdark"
        android:text="second Text"
        android:layout_centerVertical="true"
        android:padding="8dp"
        android:gravity="center"
        android:textColor="@color/WhiteSmoke" />
</RelativeLayout>

<View
    android:id="@+id/divideaftertotal"
    android:layout_width="@dimen/divide_width"
    android:layout_height="@dimen/divider_height"
    android:background="@color/YellowGreen"
    android:layout_below="@+id/total_top_layout"
/>

<RelativeLayout
    android:id="@+id/tens_view_top"
    android:layout_below="@id/divideaftertotal"
    android:layout_height="75dp"
    android:layout_width="wrap_content"

    >

    <LinearLayout
        android:id="@+id/tens_view_left"
        android:layout_alignParentLeft="true"
        android:orientation="vertical"
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:layout_centerInParent="true"
        >
        <LinearLayout
            android:id="@+id/firstcoloumn"
            android:layout_height="fill_parent"
            android:layout_width="fill_parent"
            android:orientation="vertical"
            android:layout_weight="1"
            >

            <LinearLayout
                android:layout_height="wrap_content"
                android:layout_width="wrap_content"
                android:gravity="center"
                android:orientation="horizontal"
                >

                <TextView
                    android:id="@+id/amount_rupee"
                    android:layout_height="wrap_content"
                    android:layout_width="fill_parent"
                    android:text="Num1"
                    android:layout_centerVertical="true"
                    android:textSize="25sp" />

                <TextView
                    android:id="@+id/multiply_sign"
                    android:layout_height="wrap_content"
                    android:layout_width="wrap_content"
                    android:text="X"
                    android:layout_centerVertical="true"
                    android:textSize="26sp"
                    android:layout_toRightOf="@id/amount_rupee"
                    android:layout_marginLeft="40dp" />

                <TextView
                    android:id="@+id/multiple_digit"
                    android:layout_height="wrap_content"
                    android:layout_width="wrap_content"
                    android:text="Num2"
                    android:layout_centerVertical="true"
                    android:textSize="25sp"
                    android:layout_toRightOf="@+id/multiply_sign"
                    android:layout_marginLeft="40dp" />
            </LinearLayout>

            <SeekBar
                android:layout_height="wrap_content"
                android:layout_width="fill_parent"
                android:layout_below="@+id/multiple_digit"
                android:layout_marginTop="8dp"
                />


        </LinearLayout>


    </LinearLayout>

    <LinearLayout
        android:layout_height="100dp"
        android:layout_width="wrap_content"
        android:background="@color/hologreendark"
        android:layout_alignParentRight="true">

        <TextView
            android:id="@+id/amount_rupee"
            android:layout_height="fill_parent"
            android:layout_width="100dp"
            android:text="Num3"
            android:layout_centerVertical="true"
            android:textSize="25sp"
            android:gravity="center"
            />

    </LinearLayout>



</RelativeLayout>

<View
    android:id="@+id/divideaftertens"
    android:layout_width="@dimen/divide_width"
    android:layout_height="@dimen/divider_height"
    android:background="@color/YellowGreen"
    android:layout_below="@+id/tens_view_top"
    />

</RelativeLayout>
4

5 回答 5

0
// try this i have used LinearLayout rather than RelativeLayout
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:padding="7dp">

    <LinearLayout
        android:id="@+id/total_top_layout"
        android:layout_height="wrap_content"
        android:layout_width="match_parent"
        android:gravity="center"
        android:paddingBottom="10dp">

        <TextView
            android:id="@+id/ammount_view"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:layout_width="0dp"
            android:text="First Text Here"
            android:textSize="20sp"/>

        <EditText
            android:id="@+id/total_ammount_input"
            android:layout_height="wrap_content"
            android:layout_width="150dp"
            android:singleLine="true"
            android:text="second Text"
            android:padding="8dp"
            android:gravity="center"/>
    </LinearLayout>

    <View
        android:id="@+id/divideaftertotal"
        android:layout_width="match_parent"
        android:layout_height="1dp"/>


    <LinearLayout
        android:id="@+id/tens_view_left"
        android:layout_height="wrap_content"
        android:layout_width="match_parent">

        <LinearLayout
            android:id="@+id/firstcoloumn"
            android:layout_height="wrap_content"
            android:layout_width="0dp"
            android:layout_weight="1"
            android:orientation="vertical">

            <LinearLayout
                android:layout_height="wrap_content"
                android:layout_width="match_parent"
                android:gravity="center">

                <LinearLayout
                    android:layout_height="match_parent"
                    android:gravity="center"
                    android:layout_width="0dp"
                    android:layout_weight="1">
                    <TextView
                        android:id="@+id/amount_rupee"
                        android:layout_height="wrap_content"
                        android:layout_width="0dp"
                        android:layout_weight="1"
                        android:text="Num1"
                        android:textSize="25sp" />

                    <TextView
                        android:id="@+id/multiply_sign"
                        android:layout_height="wrap_content"
                        android:layout_width="0dp"
                        android:layout_weight="1"
                        android:text="X"
                        android:layout_centerVertical="true"
                        android:textSize="26sp"
                        android:layout_marginLeft="40dp" />

                    <TextView
                        android:id="@+id/multiple_digit"
                        android:layout_height="wrap_content"
                        android:layout_width="0dp"
                        android:layout_weight="1"
                        android:text="Num2"
                        android:textSize="25sp"
                        android:layout_marginLeft="40dp" />
                </LinearLayout>

            </LinearLayout>
            <SeekBar
                android:layout_height="wrap_content"
                android:layout_width="fill_parent"
                android:layout_below="@+id/multiple_digit"
                android:layout_marginTop="8dp"/>

        </LinearLayout>
        <TextView
            android:id="@+id/amount_rupee"
            android:layout_height="match_parent"
            android:layout_width="100dp"
            android:text="Num3"
            android:textSize="25sp"
            android:gravity="center"/>

    </LinearLayout>

    <View
        android:id="@+id/divideaftertens"
        android:layout_width="match_parent"
        android:layout_height="1dp"/>

</LinearLayout>
于 2013-10-25T04:27:50.077 回答
0

在布局android:id="@+id/tens_view_left"上,您可以添加这 2 个属性:

android:layout_alignParentLeft="true"

使其左侧锚定在其父级的左边框中,并且

android:layout_toLeftOf="@id/id_from_the_linear_layout_on_the_right"

那个布局是:

<LinearLayout
        android:id="@+id/id_from_the_linear_layout_on_the_right"
        android:layout_height="100dp"
        android:layout_width="wrap_content"
        android:background="@color/hologreendark"
        android:layout_alignParentRight="true">

        <TextView
            android:id="@+id/amount_rupee"
            android:layout_height="fill_parent"
            android:layout_width="100dp"
            android:text="Num3"
            android:layout_centerVertical="true"
            android:textSize="25sp"
            android:gravity="center"
            />

    </LinearLayout>

顺便说一句,您可能需要android:orientation="horizontal"
在布局上设置android:id="@+id/tens_view_top"

于 2013-10-24T18:42:59.490 回答
0

它可能是这样的,

<LinearLayout
    android:id="@+id/tens_view_left"
    android:layout_alignParentLeft="true"
    android:orientation="vertical"
    android:layout_height="wrap_content"
    android:layout_width="wrap_content"
    android:layout_centerInParent="true"
    >
        <LinearLayout
            android:id="@+id/firstcoloumn"
            android:layout_height="fill_parent"
            android:layout_width="fill_parent"
            android:orientation="horizontal"
            >

                <LinearLayout
                    android:layout_height="fill_parent"
                    android:layout_width="0dp"
                    android:orientation="vertical"
                    android:layout_weight="1">

                        <LinearLayout
                            android:layout_height="wrap_content"
                            android:layout_width="wrap_content"
                            android:gravity="center"
                            android:orientation="horizontal"
                            >

                                <TextView
                                    android:id="@+id/amount_rupee"
                                    android:layout_height="wrap_content"
                                    android:layout_width="fill_parent"
                                    android:text="Num1"
                                    android:layout_centerVertical="true"
                                    android:textSize="25sp" />

                                <TextView
                                    android:id="@+id/multiply_sign"
                                    android:layout_height="wrap_content"
                                    android:layout_width="wrap_content"
                                    android:text="X"
                                    android:layout_centerVertical="true"
                                    android:textSize="26sp"
                                    android:layout_toRightOf="@id/amount_rupee"
                                    android:layout_marginLeft="40dp" />

                                <TextView
                                    android:id="@+id/multiple_digit"
                                    android:layout_height="wrap_content"
                                    android:layout_width="wrap_content"
                                    android:text="Num2"
                                    android:layout_centerVertical="true"
                                    android:textSize="25sp"
                                    android:layout_toRightOf="@+id/multiply_sign"
                                    android:layout_marginLeft="40dp" />
                        </LinearLayout>

                        <SeekBar
                            android:layout_height="wrap_content"
                            android:layout_width="fill_parent"
                            android:layout_below="@+id/multiple_digit"
                            android:layout_marginTop="8dp"
                            />

                </LinearLayout>


                <LinearLayout
                    android:layout_height="100dp"
                    android:layout_width="wrap_content"
                    android:background="@color/hologreendark"
                    android:layout_alignParentRight="true">

                        <TextView
                            android:id="@+id/amount_rupee"
                            android:layout_height="fill_parent"
                            android:layout_width="100dp"
                            android:text="Num3"
                            android:layout_centerVertical="true"
                            android:textSize="25sp"
                            android:gravity="center"
                            />

                </LinearLayout>
    </LinearLayout>
</LinearLayout>
于 2013-10-24T18:43:51.420 回答
0

更改RelativeLayoutLinearLayout包含您想要关闭的两个布局,并添加layout_weight=1到第一个 LinearLayout 与layout_width=0diplike

<LinearLayout
android:id="@+id/tens_view_top"
android:layout_below="@id/divideaftertotal"
android:layout_height="75dp"
android:layout_width="wrap_content"

>

<LinearLayout
    android:layout_weight="1"
    android:id="@+id/tens_view_left"
    android:orientation="vertical"
    android:layout_height="wrap_content"
    android:layout_width="0dip"
    >
    <LinearLayout
        android:id="@+id/firstcoloumn"
        android:layout_height="fill_parent"
        android:layout_width="fill_parent"
        android:orientation="vertical"
        android:layout_weight="1"
        >

        <LinearLayout
            android:layout_height="wrap_content"
            android:layout_width="wrap_content"
            android:gravity="center"
            android:orientation="horizontal"
            >

            <TextView
                android:id="@+id/amount_rupee"
                android:layout_height="wrap_content"
                android:layout_width="fill_parent"
                android:text="Num1"
                android:layout_centerVertical="true"
                android:textSize="25sp" />

            <TextView
                android:id="@+id/multiply_sign"
                android:layout_height="wrap_content"
                android:layout_width="wrap_content"
                android:text="X"
                android:layout_centerVertical="true"
                android:textSize="26sp"
                android:layout_toRightOf="@id/amount_rupee"
                android:layout_marginLeft="40dp" />

            <TextView
                android:id="@+id/multiple_digit"
                android:layout_height="wrap_content"
                android:layout_width="wrap_content"
                android:text="Num2"
                android:layout_centerVertical="true"
                android:textSize="25sp"
                android:layout_toRightOf="@+id/multiply_sign"
                android:layout_marginLeft="40dp" />
        </LinearLayout>

        <SeekBar
            android:layout_height="wrap_content"
            android:layout_width="fill_parent"
            android:layout_below="@+id/multiple_digit"
            android:layout_marginTop="8dp"
            />


    </LinearLayout>


</LinearLayout>

<LinearLayout
    android:layout_height="100dp"
    android:layout_width="wrap_content"
    android:background="#FFCCDD"
    android:layout_alignParentRight="true">

    <TextView
        android:id="@+id/amount_rupee"
        android:layout_height="fill_parent"
        android:layout_width="100dp"
        android:text="Num3"
        android:layout_centerVertical="true"
        android:textSize="25sp"
        android:gravity="center"
        />

</LinearLayout>

于 2013-10-24T18:45:42.100 回答
0

使用 时layout_weight,将 设置layout_width0dp(用于水平方向)。

于 2013-10-24T18:36:46.607 回答