2016-06-18 47 views
2

填充一种颜色的固体边界我使用的是自定义的矩形作为背景:安卓:XML绘制自定义的矩形与另一

<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> 
    <corners android:radius="20dp"/> 
    <padding android:left="10dp" android:right="10dp" android:top="10dp" android:bottom="10dp"/> 
    <solid android:color="#FFFFFF"/> 
</shape> 

这给了我一张精美的卡片状,但是我想有一个坚实的黑色(或其他颜色的线)。我假设我需要做的是在我的xml中创建一个黑色矩形,比我当前的矩形宽1点,然后将较小的白色矩形放在顶部。我可以在我的主要XML中使用framelayout和两个不同的自定义矩形在另一个螺母上进行额外的框架布局,这看起来好像可能会过度设计问题。有没有办法在一个自定义XML背景绘制。

感谢

+1

[形状XML边框](可能的重复http://stackoverflow.com/questions/6698927/border-in-shape- XML) –

回答

4

边境你只需要添加一行:

<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> 
    <corners android:radius="20dp"/> 
    <padding android:left="10dp" android:right="10dp" android:top="10dp" android:bottom="10dp"/> 
    <solid android:color="#FFFFFF"/> 

    //ADD THIS LINE 
    <stroke android:width="1dp" android:color="#000000"/> 

</shape> 
2

你必须做这样的事情:

<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item> 
     <shape android:shape="rectangle" > 
      <solid android:color="@android:color/transparent" /> 
     </shape> 
    </item> 

    <item > 
     <shape> 
      <solid android:color="@android:color/transparent"/> 
      <stroke 
       android:width="3dp" 
       android:color="#0093dd" > 
      </stroke> 
     </shape> 
    </item> 

</layer-list> 

您可以在第一项改变透明色你想达到你想要什么纯色。