4

在此处输入图像描述

<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:orientation="horizontal"
    android:weightSum="6"
    tools:context=".MainActivity" >

    <Button 
        android:text="BTN1"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_gravity="fill_vertical"
        android:layout_weight="1" />
    <Button 
        android:text="BTN2"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_gravity="fill_vertical"
        android:layout_weight="2" />
    <Button 
        android:text="BTN3"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_gravity="fill_vertical"
        android:layout_weight="1" />
    <Button 
        android:text="BTN4"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_gravity="fill_vertical"
        android:layout_weight="1" />
    <Button 
        android:text="BTN5"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_gravity="fill_vertical"
        android:layout_weight="1" />

</LinearLayout>

使用android:layout_height="match_parent"只是将按钮拉伸到整个屏幕高度。我希望按钮 2 的宽度是其他按钮的两倍。

4

4 回答 4

6

这将做:

<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="wrap_content"
    android:orientation="horizontal"
    android:weightSum="6"
    tools:context=".MainActivity" >

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

    <Button
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_gravity="fill_vertical"
        android:layout_weight="2"
        android:text="BTN2" />

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

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

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

</LinearLayout>

使父布局高度wrap_content和第二个按钮的高度match_parent

在此处输入图像描述

于 2013-05-13T18:32:21.247 回答
0

你已经做对了。第二个按钮已经是其余按钮宽度的两倍。

你剩下的问题是高度。高度的差异是因为按钮内的文字对于这么小的按钮来说太大了。只需减小文本大小,这应该会产生魔力。

于 2013-05-13T18:32:49.500 回答
0

干得好...

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/RelativeLayout1"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal"
    android:weightSum="6"
    tools:context=".MainActivity" >

    <Button
        android:id="@+id/Button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:layout_gravity="fill_vertical"
        android:layout_toLeftOf="@+id/Button2"
        android:layout_weight="1"
        android:text="BTN1as s dh asgdjhsg djahgsd  gsadhasdhg sa" />

    <Button
        android:id="@+id/Button2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBottom="@+id/Button1"
        android:layout_alignParentTop="true"
        android:layout_gravity="fill_vertical"
        android:layout_toLeftOf="@+id/Button3"
        android:layout_weight="1"
        android:text="BTN2" />

    <Button
        android:id="@+id/Button3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBottom="@+id/Button1"
        android:layout_alignParentTop="true"
        android:layout_gravity="fill_vertical"
        android:layout_toLeftOf="@+id/Button4"
        android:layout_weight="1"
        android:text="BTN3" />

    <Button
        android:id="@+id/Button4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBottom="@+id/Button1"
        android:layout_alignParentTop="true"
        android:layout_gravity="fill_vertical"
        android:layout_toLeftOf="@+id/Button5"
        android:layout_weight="1"
        android:text="BTN4" />

    <Button
        android:id="@+id/Button5"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBottom="@+id/Button1"
        android:layout_alignParentRight="true"
        android:layout_alignParentTop="true"
        android:layout_gravity="fill_vertical"
        android:layout_weight="1"
        android:text="BTN5" />

</RelativeLayout>
于 2013-05-13T18:12:13.070 回答
-1

需要把LinearLayout的高度改成wrap_content,然后把所有的高度改成match_parent。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:weightSum="6"
    tools:context=".MainActivity" >

    <Button
        android:id="@+id/button1"
        android:text="BTN1"
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_gravity="fill_vertical"
        android:layout_weight="1" />
    <Button 
        android:id="@+id/button2"
        android:text="BTN2"
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_gravity="fill_vertical"
        android:layout_weight="2" />
    <Button 
        android:id="@+id/button3"
        android:text="BTN3"
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_gravity="fill_vertical"
        android:layout_weight="1" />
    <Button 
        android:id="@+id/button4"
        android:text="BTN4"
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_gravity="fill_vertical"
        android:layout_weight="1" />
    <Button 
        android:id="@+id/button5"
        android:text="BTN5"
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_gravity="fill_vertical"
        android:layout_weight="1" />

</LinearLayout>
于 2013-05-13T18:13:10.110 回答