38

我想将相对或线性布局的背景设置为自定义可绘制对象。我希望形状在底部绘制两条水平线,使中心部分透明(空)。

下面绘制垂直居中的水平线,因为我需要它们与形状的底部对齐。(如果您添加一个矩形作为项目,您可以看到该形状扩展到父项的尺寸,但线条仍居中对齐)。

<?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 回答