代码之家  ›  专栏  ›  技术社区  ›  Emile

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

  •  35
  • Emile  · 技术社区  · 14 年前

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

    <?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>
    
    2 回复  |  直到 14 年前
        1
  •  59
  •   Emile    14 年前

    我还没问完就找到了答案。

    <?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>
    
        2
  •  3
  •   Huy Tower TWilly    7 年前

    你也可以用下面的简单代码绘制。

    <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>