在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> 

  • 如何只指定一次LinearLayout元素之间的间距?
  • ScrollView根本不滚动
  • android - 布局看起来在一些设备中搞砸了
  • Android线性/相对布局 - 如何“自动调整”中间的对象(3个对象)
  • 如何以编程方式在LinearLayout上设置纹波效果?
  • 除了底部,如何在线性布局上添加边框?
  • 如何将滚动条添加到Android中的LinearLayout?
  • 如何使用视图寻呼机将底视图添加到协调器布局?
  • 你可以使用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 ,它将划分所有的空间