38

RelativeまたはLinearLayoutの背景をカスタムドローアブルに設定したい。中央部分を透明(空)のままにして、形状の下部に2本の水平線を描画する必要があります。

以下は、垂直方向の中央に水平線を描画しますが、必要に応じて、図形の下部に揃える必要があります。(アイテムとして長方形を追加すると、形状が親の寸法に拡大することがわかりますが、線は中央に配置されたままです)。

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
 <item>
  <shape android:shape="line">
      <stroke android:width="1dip" android:color="#99b8b9bd" />
      <size android:height="1dip" />
  </shape>
 </item>
 <item>
  <shape android:shape="line" android:top="1dip">
      <stroke android:width="1dip" android:color="#FFFFFFFF" />
      <size android:height="1dip" />
  </shape>
 </item>
</layer-list>
4

2 に答える 2

61

私がそれについて尋ね終わる前に答えを見つけました。

<?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="@color/hr_bottom" />
            <solid android:color="#00FF0000" />
            <padding android:bottom="1dp"/>
        </shape>
   </item>

   <item>
      <shape 
        android:shape="rectangle">
            <stroke android:width="1dp" android:color="@color/hr_top" />
            <solid android:color="#00FF0000" />
            <padding android:bottom="1dp"/>
        </shape>
   </item>

    <item>
      <shape 
        android:shape="rectangle">
            <stroke android:width="1dp" android:color="#00000000" />
            <solid android:color="#00000000" />
        </shape>
   </item>

</layer-list>
于 2010-11-10T16:48:11.750 に答える
5

以下の簡単なコードで描くこともできます。

<item
    android:right="-2dp"
    android:bottom="-2dp"
    >
    <shape
        android:shape="rectangle">

        <stroke
            android:width="0.5dp"
            android:color="#ff0000"
            android:dashGap="4dp"
            android:dashWidth="4dp" />

    </shape>
</item>

于 2017-07-14T09:13:32.653 に答える