资源文件中定义的“包含”的保证金没有影响

问题描述 投票:-2回答:1

我正在尝试重新使用为计算器应用程序中的按钮定义的XML,但在将其包含在布局文件中后,Button的XML中定义的边距值无效。

Button的XML:

<?xml version="1.0" encoding="utf-8"?>
<Button
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:text="@string/standard_sqrt"
    android:gravity="center"
    android:textStyle="italic"
    android:textSize="25dp"
    android:padding="16dp"
    android:background="@drawable/dark_button_selector"
    android:layout_height="wrap_content"
    android:layout_width="wrap_content" 
    android:layout_margin="5dp"/>

Button似乎在处理好自己的优势:

Button Layout

现在,我只是将它包含在TablowRow中,如下所示:

<TableRow
     android:layout_weight="2"
     android:gravity="center">
     <include layout="@layout/button_component" />
     <include layout="@layout/button_component" />
     <include layout="@layout/button_component" />
     <include layout="@layout/button_component" />
 </TableRow>

无论我指定Button的边距/高度/宽度是什么值,它们在包含在表格行中时都是相同的(即它们之间没有任何空格)。

Included buttons

android
1个回答
3
投票

请将您的Button放在带有边距参数的父布局中:

 <?xml version="1.0" encoding="utf-8"?>

 <RelativeLayout
 xmlns:android="http://schemas.android.com/apk/res/android
 android:layout_height="wrap_content"
 android:layout_width="wrap_content"
 android:layout_margin="5dp">
     <Button
        .......
        .......
        .......
                />
  </RelativeLayout>

然后将它包含在你的RelativeLayout

© www.soinside.com 2019 - 2024. All rights reserved.