下部を除いて線形レイアウトの周りに境界線を追加する方法は? LinearLayoutには、左、上、および右側に境界線が必要ですが、下部にはありません。
Drawableフォルダーにborder.xmlという名前のXMLファイルを作成し、次のコードを入れます。
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:Android="http://schemas.Android.com/apk/res/Android">
<item>
<shape Android:shape="rectangle">
<solid Android:color="#FF0000" />
</shape>
</item>
<item Android:left="5dp" Android:right="5dp" Android:top="5dp" >
<shape Android:shape="rectangle">
<solid Android:color="#000000" />
</shape>
</item>
</layer-list>
次に、次のように線形レイアウトに背景を追加します。
Android:background="@drawable/border"
編集:
このXMLはGingerbread 2.3.を実行するgalaxyでテストされ、以下の画像に示すように完全に実行されました。
も
JellyBean 4.1.2を実行するgalaxy s 3でテストし、以下の画像に示すように完全に実行しました。
最終的にすべてのAPIで完全に動作します
編集2:
また、ストロークを使用して背景を透明に保ちながら、次のコードで下部を除いて境界を維持することもできます。
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:Android="http://schemas.Android.com/apk/res/Android">
<item Android:left="0dp" Android:right="0dp" Android:top="0dp"
Android:bottom="-10dp">
<shape Android:shape="rectangle">
<stroke Android:width="10dp" Android:color="#B22222" />
</shape>
</item>
</layer-list>
この助けを願っています。
このxmlを保存し、線形レイアウトの背景として追加します。
<shape xmlns:Android="http://schemas.Android.com/apk/res/Android">
<stroke Android:width="4dp" Android:color="#FF00FF00" />
<solid Android:color="#ffffff" />
<padding Android:left="7dp" Android:top="7dp"
Android:right="7dp" Android:bottom="0dp" />
<corners Android:radius="4dp" />
</shape>
お役に立てれば! :)
ケニーは正しいです、ただいくつかのことを片付けたいだけです。
border.xml
を作成し、フォルダーres/drawable/
に入れますコードを追加
<shape xmlns:Android="http://schemas.Android.com/apk/res/Android">
<stroke Android:width="4dp" Android:color="#FF00FF00" />
<solid Android:color="#ffffff" />
<padding Android:left="7dp" Android:top="7dp"
Android:right="7dp" Android:bottom="0dp" />
<corners Android:radius="4dp" />
</shape>
Android:background="@drawable/border"
のような背景を設定します
私はborder.xml
を間違ったフォルダに入れたため、最初はうまくいきませんでした!
Githubリンク は、軽量で非常に簡単に統合できるライブラリで、FrameLayoutウィジェットに基づいて、必要なウィジェットの境界線を自由に操作できます。
簡単なサンプルコードを以下に示しますが、リンクに関する詳細情報があります。
<com.khandelwal.library.view.BorderFrameLayout
Android:layout_width="match_parent"
Android:layout_height="match_parent"
app:leftBorderColor="#00F0F0"
app:leftBorderWidth="10dp"
app:topBorderColor="#F0F000"
app:topBorderWidth="15dp"
app:rightBorderColor="#F000F0"
app:rightBorderWidth="20dp"
app:bottomBorderColor="#000000"
app:bottomBorderWidth="25dp" >
</com.khandelwal.library.view.BorderFrameLayout>
そのため、下部に境界線が必要ない場合は、このカスタムウィジェットの下部に関する2行を削除すれば完了です。
いいえ、私はこのライブラリの著者でもありませんし、彼の友人でもありません;-)