2017-04-21 63 views
0

我有5個按鈕排列在一個線性佈局內的一排,我不能讓他們互相接觸。出於某種原因,按鈕之間有填充。 enter image description here不能讓android按鈕彼此接觸

上圖顯示了當前的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> 
+0

是什麼layout_weight = 1的目的沒有高度或寬度0.不要濫用layout_weight,這是主要問題 –

回答

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

+0

謝謝,這對我來說很成功。 – user3858843

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> 
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"從所有按鈕。

下面是使用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:

OUTPUT

希望這將有助於〜