8

LinearLayout私は私のアプリ全体で数秒間この背景を持っています:

android:background="@drawable/metal_plate"

drawable \ metal_plate.xml:

<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
    android:src="@drawable/diamond_metal"
    android:tileMode="repeat"
    android:dither="true">
</bitmap>    

金属板の四隅に4ビットのネジを配置したいと思います。
私はいくつかの場所で金属板を使用しているので、すべての機会に4本のネジを配置するよりも、単一のドローアブルとして定義することを好みますRelativeLayout

ドローアブルフォルダにXMLを定義して、タイル張りの金属プレートと4本のネジを組み合わせることができますか?

4

2 に答える 2

26

残念ながら、現時点ではこれを実際にテストすることはできませんが、次のようなLayerListDrawableを使用してこれを実行できると思います。

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

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <bitmap
            android:src="@drawable/diamond_metal"
            android:tileMode="repeat" />
    </item>

    <item android:right="10dp" android:bottom="10dp">
        <bitmap
            android:src="@drawable/screw"
            android:gravity="bottom|right" />
    </item>

    <item android:left="10dp" android:bottom="10dp">
        <bitmap
            android:src="@drawable/screw"
            android:gravity="bottom|left" />
    </item>

    <item android:top="10dp" android:left="10dp">
        <bitmap
            android:src="@drawable/screw"
            android:gravity="top|left" />
    </item>

    <item android:top="10dp" android:right="10dp">
        <bitmap
            android:src="@drawable/screw"
            android:gravity="top|right" />
    </item>
</layer-list>

10dp値を、ネジに必要なインセットに置き換えます。

于 2013-03-07T18:54:36.493 に答える
1

これはおそらくNinePatchを使用して簡単に行うことができます。NinePatchドローアブルを作成し、それを背景にしたいレイアウトの背景として設定することができます。これには、背景の正方形バージョンを作成する必要があるだけです。次に、Draw 9-Patchツールを使用して、Androidで使用する.9.pngにすることをお勧めします。

于 2013-03-07T18:45:02.877 に答える