5

下の画像のようにグラデーションの境界線を作成するにはどうすればよいですか?

国境

4

1 に答える 1

8

これは、レイヤーリストを使用してパディングをいじることで実現できます。3つの要素が必要です。

1:border.xmlシェイプ。これは、ボーダーの色の単色です:border.xml

<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <solid android:color="#ff0000"/>
</shape>

2:「内側」の形状、境界線を表示する形状:inner.xml

<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <solid android:color="#00ff00"/>
</shape>

3:レイヤーリスト。これら2つを重ね合わせます。内側の形状にパディングを設定して境界線を作成します:layerlist.xml

<?xml version="1.0" encoding="UTF-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/border"/>
<item android:drawable="@drawable/inner"

ストロークを配置する場所(上、左、右、下)をここで指定します

android:top="3dp" android:right="0dp" android:bottom="3dp"
android:left="3dp" />

これをTextView、レイアウトなどの背景として設定します(ストロークを表示する場所)

または、境界線を使用して9Patch画像を作成します。

于 2012-08-23T20:20:19.353 に答える