android 半边圆角的实现

现在想制作这样一个面板:


这个面板左上角和右上角是圆角,下半部分是直角。

有两种实现方法:

第一:定义每个角的圆角

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    
    <item> 
        <shape> 
            <gradient android:startColor="#FDD985" android:endColor="#FDD985" android:angle="0"/>        
            <corners 
                android:radius="5dp"/> 
        </shape> 
        
    </item> 
</selector> 
第二,使用layer-list:

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >

<!--先定义一个矩形,颜色是#fdd985,四个角都是5dp的圆角-->

    <item>
      <shape 
        android:shape="rectangle">
            <solid android:color="#FDD985" />
            <corners android:radius="5dp"/>
        </shape>
   </item>


<!--再定义一个矩形,android:top的意思是顶部有5dp的空白(类似margin)。矩形颜色是#fdd985,未定义圆角。因此这个矩形会将刚才定义的矩形大部分遮住,只留下上面5dp的空间-->

   <item android:top="5dp"
        >
      <shape 
        android:shape="rectangle">
            <solid android:color="#FDD985" />
        </shape>
   </item>


</layer-list>

<!--先定义一个矩形,颜色是#fdd985,四个角都是5dp的圆角-->

你可能感兴趣的:(android 半边圆角的实现)