无法使android按钮互相接触

时间:2017-04-21 20:18:25

标签: android xml button

我在线性布局中连续排列了5个按钮,我无法让它们相互接触。由于某种原因,按钮之间有填充。 enter image description here

上图显示了我当前的Android应用程序在运行时显示的内容。有人可以帮助我做我必须做的事情,使他们触摸同时也填充屏幕宽度?我在下面列出了XML代码:

<LinearLayout
    android:id="@+id/LinearLayout02"
    android:layout_height="wrap_content"
    android:layout_width="fill_parent"
    android:layout_gravity="bottom"

    android:layout_alignParentBottom="true">
    <Button
        android:minHeight="0dp"
        android:minWidth="0dp"
        android:id="@+id/Button02"
        android:layout_width="wrap_content"
        android:layout_height="53dp"
        android:layout_weight="1"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:padding="0dp"
        android:background="@android:color/transparent"
        android:drawableTop="@drawable/options_selected">
    </Button>
    <Button
        android:id="@+id/camera"
        android:layout_width="wrap_content"
        android:layout_height="53dp"
        android:layout_weight="1"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:padding="0dp"
        android:background="@android:color/transparent"
        android:drawableTop="@drawable/stats_unselected">
    </Button>
    <Button
        android:id="@+id/stats"
        android:layout_width="wrap_content"
        android:layout_height="53dp"
        android:layout_weight="1"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:padding="0dp"
        android:background="@android:color/transparent"
        android:drawableTop="@drawable/camera_unselected">
    </Button>
    <Button
        android:id="@+id/shop"
        android:layout_width="wrap_content"
        android:layout_height="53dp"
        android:layout_weight="1"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:padding="0dp"
        android:background="@android:color/transparent"
        android:drawableTop="@drawable/shop_unselected">
    </Button>
    <Button
        android:id="@+id/Button03"
        android:layout_width="wrap_content"
        android:layout_height="53dp"
        android:layout_weight="1"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:padding="0dp"
        android:background="@android:color/transparent"
        android:drawableTop="@drawable/profile_unselected">
    </Button>
</LinearLayout>

3 个答案:

答案 0 :(得分:1)

尝试此布局:在父布局上使用weightSum属性

并使用子元素:android:layout_width="0dp" android:layout_weight="1"

 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/LinearLayout02"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_gravity="bottom"
    android:orientation="horizontal"
    android:weightSum="5">

    <Button
        android:id="@+id/Button02"
        android:layout_width="0dp"
        android:layout_height="53dp"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:layout_weight="1"
        android:background="@android:color/holo_blue_light"
        android:drawableTop="@mipmap/ic_launcher"
        android:padding="0dp"></Button>

    <Button
        android:id="@+id/camera"
        android:layout_width="0dp"
        android:layout_height="53dp"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:layout_weight="1"
        android:background="@android:color/holo_blue_light"
        android:drawableTop="@mipmap/ic_launcher"
        android:padding="0dp"></Button>

    <Button
        android:id="@+id/stats"
        android:layout_width="0dp"
        android:layout_height="53dp"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:layout_weight="1"
        android:background="@android:color/holo_blue_light"
        android:drawableTop="@mipmap/ic_launcher"
        android:padding="0dp"></Button>

    <Button
        android:id="@+id/shop"
        android:layout_width="0dp"
        android:layout_height="53dp"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:layout_weight="1"
        android:background="@android:color/holo_blue_light"
        android:drawableTop="@mipmap/ic_launcher"
        android:padding="0dp"></Button>

    <Button
        android:id="@+id/Button03"
        android:layout_width="0dp"
        android:layout_height="53dp"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:layout_weight="1"
        android:background="@android:color/holo_blue_light"
        android:drawableTop="@mipmap/ic_launcher"
        android:padding="0dp"></Button>
</LinearLayout>

输出:

enter image description here

答案 1 :(得分:0)

尝试这个(我清理了一堆错误的属性,并在使用权重时将高度设置在一个地方,最好给出宽度为0dp):

<LinearLayout
    android:id="@+id/LinearLayout02"
    android:layout_height="53dp"
    android:layout_width="match_parent"
    android:layout_gravity="bottom"
    android:weightSum="5">
    <Button
        android:id="@+id/Button02"
        android:layout_weight="1"
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:padding="0dp"
        android:background="@android:color/transparent"
        android:drawableTop="@drawable/options_selected">
    </Button>
    <Button
        android:id="@+id/camera"
        android:layout_weight="1"
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:padding="0dp"
        android:background="@android:color/transparent"
        android:drawableTop="@drawable/stats_unselected">
    </Button>
    <Button
        android:id="@+id/stats"
        android:layout_weight="1"
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:padding="0dp"
        android:background="@android:color/transparent"
        android:drawableTop="@drawable/camera_unselected">
    </Button>
    <Button
        android:id="@+id/shop"
        android:layout_weight="1"
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:padding="0dp"
        android:background="@android:color/transparent"
        android:drawableTop="@drawable/shop_unselected">
    </Button>
    <Button
        android:id="@+id/Button03"
        android:layout_weight="1"
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:padding="0dp"
        android:background="@android:color/transparent"
        android:drawableTop="@drawable/profile_unselected">
    </Button>
</LinearLayout>

答案 2 :(得分:0)

  1. 将属性android:orientation="horizontal"android:weightSum="5"添加到LinearLayout02
  2. 使用Button宽度作为android:layout_width="0dp"而不是android:layout_width="wrap_content"
  3. 从所有按钮中删除多余的属性android:layout_alignParentLeft="true"android:layout_alignParentTop="true"
  4. 以下是正在使用的XML:

    <LinearLayout
        android:id="@+id/LinearLayout02"
        android:layout_height="wrap_content"
        android:layout_width="fill_parent"
        android:layout_gravity="bottom"
        android:layout_alignParentBottom="true"
        android:orientation="horizontal"
        android:weightSum="5">
    
        <Button
            android:id="@+id/Button02"
            android:layout_width="0dp"
            android:layout_height="53dp"
            android:layout_weight="1"
            android:background="@android:color/transparent"
            android:drawableTop="@drawable/options_selected">
        </Button>
    
        <Button
            android:id="@+id/camera"
            android:layout_width="0dp"
            android:layout_height="53dp"
            android:layout_weight="1"
            android:background="@android:color/transparent"
            android:drawableTop="@drawable/stats_unselected">
        </Button>
    
        <Button
            android:id="@+id/stats"
            android:layout_width="0dp"
            android:layout_height="53dp"
            android:layout_weight="1"
            android:background="@android:color/transparent"
            android:drawableTop="@drawable/camera_unselected">
        </Button>
    
        <Button
            android:id="@+id/shop"
            android:layout_width="0dp"
            android:layout_height="53dp"
            android:layout_weight="1"
            android:background="@android:color/transparent"
            android:drawableTop="@drawable/shop_unselected">
        </Button>
        <Button
            android:id="@+id/Button03"
            android:layout_width="0dp"
            android:layout_height="53dp"
            android:layout_weight="1"
            android:background="@android:color/transparent"
            android:drawableTop="@drawable/profile_unselected">
        </Button>
    </LinearLayout>
    

    <强>输出:

    <强> OUTPUT

    希望这会有所帮助〜