我有按钮,我想在所有按钮之间放置相同的空间,所以如果我在平板电脑上运行应用程序按钮之间的空间将等于鸿沟,我使用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>
答案 0 :(得分:26)
您可以使用layout_weight。但就像你说Buttons will be stretched
,所以不要在按钮上使用权重,而是使用空格(视图)。
<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>
答案 1 :(得分:6)
为了让您的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>
答案 2 :(得分:5)
用
替换每个按钮<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>
即。使用RelativeLayout
和android:layout_weight
android:gravity
的每个按钮
答案 3 :(得分:4)
试试这个......
<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" />
答案 4 :(得分:3)
将layout_weight
提供给每个Button
1,它会划分所有空格
答案 5 :(得分:3)
我会使用表格布局并使strechColums =“0”。否则,如果你想坚持线性布局,那么你试过space。
答案 6 :(得分:0)
尝试这个
在此处插入按钮
<View
android:layout_width="0dp"
android:layout_height="50dp"
android:layout_weight="1" />
在此处插入按钮