Android:如何设置为背景时,如何使用图层列表和形状元素绘制水平线?

Emi*_*ile 36 android shape

我想将Relative或LinearLayout的背景设置为自定义drawable.我希望形状在底部绘制两条水平线,使中心部分透明(空).

下面绘制垂直居中的水平线,我需要它们与形状的底部对齐.(如果将矩形添加为项目,则可以看到形状扩展为父级的尺寸,但线条仍然居中对齐).

<?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>
Run Code Online (Sandbox Code Playgroud)

Emi*_*ile 59

在我完成询问之前找到了答案.

<?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>
Run Code Online (Sandbox Code Playgroud)


Huy*_*wer 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>
Run Code Online (Sandbox Code Playgroud)