在linearlayout中的button之间做相同的空间

我有button,我想在所有button之间放置相同的空间,所以如果我在平板电脑上运行的应用程序button之间的空间将等于鸿沟,我使用linearlayout,我知道有layout_weight选项,但我不想拉伸图标

例如 在这里输入图像说明

我的xml代码如下

<LinearLayout android:id="@+id/shareLinearLayout" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_below="@+id/btnRequestAPrescriptionRefill" android:layout_marginTop="10dp" > <Button android:id="@+id/btnFacebook" android:layout_width="50dp" android:layout_height="50dp" android:background="@drawable/btn_facebook" /> <Button android:id="@+id/btnYoutube" android:layout_width="50dp" android:layout_height="50dp" android:background="@drawable/btn_youtube" /> <Button android:id="@+id/btnTwitter" android:layout_width="50dp" android:layout_height="50dp" android:background="@drawable/btn_twitter" /> <Button android:id="@+id/btnPintrest" android:layout_width="50dp" android:layout_height="50dp" android:background="@drawable/btn_pintrest" /> </LinearLayout> 

Solutions Collecting From Web of "在linearlayout中的button之间做相同的空间"

你可以使用layout_weight。 但就像你说的Buttons will be stretched ,所以而不是在button上使用重量,使用空格(视图)。

  <Button android:id="@+id/btnFacebook" android:layout_width="50dp" android:layout_height="50dp" android:background="@drawable/btn_facebook" /> <View android:layout_width="0dp" android:layout_height="50dp" android:layout_weight="1" /> <Button android:id="@+id/btnYoutube" android:layout_width="50dp" android:layout_height="50dp" android:background="@drawable/btn_youtube" /> <View android:layout_width="0dp" android:layout_height="50dp" android:layout_weight="1" /> <Button android:id="@+id/btnTwitter" android:layout_width="50dp" android:layout_height="50dp" android:background="@drawable/btn_twitter" /> <View android:layout_width="0dp" android:layout_height="50dp" android:layout_weight="1" /> <Button android:id="@+id/btnPintrest" android:layout_width="50dp" android:layout_height="50dp" android:background="@drawable/btn_pintrest" /> </LinearLayout> 

为了使你的意图在你的XML中更清晰,使用<Space>而不是<View> ,如下所示:

  <LinearLayout android:layout_width="match_parent" android:layout_height="50dp" android:background="@color/Blue" android:orientation="horizontal" > <Space android:layout_width="0dp" android:layout_height="1dp" android:layout_weight="1" > </Space> <Button android:id="@+id/btnFacebook" android:layout_width="50dp" android:layout_height="50dp" android:background="@drawable/btn_facebook" /> <Space android:layout_width="0dp" android:layout_height="1dp" android:layout_weight="1" > </Space> ...and repeat with the rest of your buttons... </LinearLayout> 

用每个buttonreplace

 <RelativeLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1" android:gravity="center" > <Button android:id="@+id/btnFacebook" android:layout_width="50dp" android:layout_height="50dp" android:background="@drawable/btn_facebook" /> </RelativeLayout> 

即用android:layout_weightandroid:gravity将每个button都用RelativeLayout封装

尝试这个…

  <Button android:id="@+id/btnFacebook" android:layout_width="50dp" android:layout_height="50dp" android:background="@drawable/btn_facebook" /> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="3" /> <Button android:id="@+id/btnYoutube" android:layout_width="50dp" android:layout_height="50dp" android:background="@drawable/btn_youtube" /> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="3" /> <Button android:id="@+id/btnTwitter" android:layout_width="50dp" android:layout_height="50dp" android:background="@drawable/btn_twitter" /> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="3"/> <Button android:id="@+id/btnPintrest" android:layout_width="50dp" android:layout_height="50dp" android:background="@drawable/btn_pintrest" /> 

我会去一个表格布局,并strechColums =“0”。 否则,如果你想坚持线性布局,那么你有没有尝试过空间 。

给每个Button 1赋予layout_weight ,它将划分所有的空间