4

我正在eclipse中开发一个android应用程序。我有一组按钮,我想在它们之间插入一些空间。我正在使用可绘制对象中的 xml 文件(background.xml)设置这些按钮的背景。对于插入空格,我对主 xml 文件中的所有按钮 seperatley 使用以下代码行。

    android:layout_marginLeft = "10dip"
    android:layout_marginRight = "10dip"
    android:layout_marginTop = "10dip"
    android:layout_marginBottom = "10dip"

我的问题是,有没有办法通过修改 background.xml 文件来设置边距。否则,每当我修改边距时,我都必须编辑所有按钮。提前致谢。

4

2 回答 2

9

这是在哪里使用样式的完美示例。样式只是您希望应用于大量对象的一组通用属性。例如,您可以buttonStyle使用以下代码创建一个名为的样式,这将完全符合您的要求。如果您决定要更改边距,只需更改样式即可。如果您决定要为不同尺寸的手机设置不同的边距值,只需创建两种样式,一种用于普通,一种用于大号,如果需要,还可以添加更多样式。

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <style name="buttonStyle">
        <item name="android:layout_marginLeft">10dip</item>
        <item name="android:layout_marginRight">10dip</item>
        <item name="android:layout_marginTop">10dip</item>
        <item name="android:layout_marginBottom">10dip</item>
    </style>
</resources>

然后按钮代码可以简化为:

style="@style/buttonStyle"

当您更改样式时,所有按钮都会自动更改。你也可以做嵌套样式。有关更多信息,请参阅API

于 2013-01-31T18:55:10.307 回答
0

我遵循了不同的语法,因为@PearsonArtPhoto 的代码片段在我的环境中不起作用:

<style android:id="@+id/tab_main" >
    <item android:layout_marginTop="10dp"></item>
    <item android:layout_marginBottom="10dp"></item>
    <item android:layout_marginLeft="10dp"></item>
    <item android:layout_marginRight="10dp"></item>
</style>

希望这可以帮助!

于 2013-08-30T03:37:33.567 回答