4

私はEclipseでAndroidアプリケーションを開発しています。ボタンのセットがあり、それらの間にスペースを挿入したい。ドローアブルのxmlファイル(background.xml)を使用して、これらのボタンの背景を設定しています。スペースを挿入するために、メインの xml ファイルのすべてのボタンごとに次のコード行を使用しています。

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

私の質問は、background.xml ファイルを変更して余白を設定する方法はありますか。そうしないと、余白を変更するたびにすべてのボタンを編集する必要があります。前もって感謝します。

4

2 に答える 2

9

これは、スタイルを使用する場所の完璧な例です。スタイルは、多数のオブジェクトに適用する共通の属性のグループにすぎません。たとえばbuttonStyle、次のコードを使用してというスタイルを作成できます。これにより、希望どおりの結果が得られます。マージンを変更する場合は、スタイルを変更するだけです。サイズの異なる電話に対して異なるマージン値を使用する場合は、2つのスタイルを作成します。1つは通常用、もう1つは大型用、そして必要に応じてそれ以上です。

<?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 に答える