TextView があり、その上部と下部の境界線に沿って黒い境界線を追加したいと考えています。TextView にandroid:drawableTop
と を追加してみましたが、ビュー全体が黒くなるだけでした。android:drawableBottom
<TextView
android:background="@android:color/green"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:drawableTop="@android:color/black"
android:drawableBottom="@android:color/black"
android:text="la la la" />
Android の View (特に TextView) に上部と下部の境界線を簡単に追加する方法はありますか?
ベストアンサー1
Android 2.2 では次の操作を実行できます。
/res/drawable/textlines.xml などの xml 描画可能ファイルを作成し、これを TextView の背景プロパティとして割り当てます。
<TextView
android:text="My text with lines above and below"
android:background="@drawable/textlines"
/>
/res/drawable/テキスト行.xml
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item>
<shape
android:shape="rectangle">
<stroke android:width="1dp" android:color="#FF000000" />
<solid android:color="#FFDDDDDD" />
</shape>
</item>
<item android:top="1dp" android:bottom="1dp">
<shape
android:shape="rectangle">
<stroke android:width="1dp" android:color="#FFDDDDDD" />
<solid android:color="#00000000" />
</shape>
</item>
</layer-list>
この方法の欠点は、透明度が機能しないため、不透明な背景色を指定する必要があることです。(少なくとも私はそう思っていましたが、間違っていました)。上記の例では、最初の図形 #FFdddddd の単色が 2 番目の図形のストロークの色にコピーされていることがわかります。