方形的布局与圆内边缘的边界

我正在尝试创build一个外部四边形的angular落的布局边框。 我已经收集到,我需要创build一个由两个形状组成的xml可绘制定义:一个是笔触宽度和圆angular半径,另一个是笔触宽度:

可绘制/

round_border.xml

<shape xmlns:android="http://schemas.android.com/apk/res/android"> <stroke android:width="4dp" android:color="#FF000000" /> <padding android:left="7dp" android:top="7dp" android:right="7dp" android:bottom="7dp" /> <corners android:radius="4dp" /> <solid android:color="#FFC0C0C0" /> </shape> 

square_border.xml

 <shape xmlns:android="http://schemas.android.com/apk/res/android"> <stroke android:width="2dp" android:color="#FF000000" /> <solid android:color="#FFC0C0C0" /> </shape> 

这些工作中的每一个独立地作为一个边界当它们自己被应用象这样:

android:background =“@ drawable / round_border”但是当他们或者两者都被添加到可绘制的项目列表像这样:

composite_border.xml

 <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android"> <layer-list> <item android:drawable="@drawable/round_border"/> <!-- <item android:drawable="@drawable/square_border"/> --> </layer-list> </shape> 

和:

机器人:背景= “@绘制/ composite_border”

布局的背景是完全黑色,而不是只是一个黑色的边框 – 任何人都知道如何使图层列表工作这个任务?

  • Androidbutton上的边框颜色
  • 设置textView的边框和背景颜色
  • Android GridView绘制分隔线
  • 添加闪烁到自定义列表视图项目?
  • 如何给gridview android单线边框
  • 从形状可绘制的文档,你可以看到形状不能有层内列表,所以你应该像这样定义你的composite_border.xml

     <layer-list xmlns:android="http://schemas.android.com/apk/res/android" > <item android:drawable="@drawable/square_border"/> <item android:drawable="@drawable/round_border"/> </layer-list> 

    请注意,我按照层列表文档中的说明更改了层列表中的项目顺序
    Each drawable in the list is drawn in the order of the list—the last drawable in the list is drawn on top
    你希望它从外部平方

    square_border.xml

     <shape xmlns:android="http://schemas.android.com/apk/res/android"> <stroke android:width="2dp" android:color="#FF000000" /> <solid android:color="#FFC0C0C0" /> </shape> 

    composite_border.xml

     <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android"> <layer-list> <item android:drawable="@drawable/round_border"/> <!-- <item android:drawable="@drawable/square_border"/> --> </layer-list> </shape> 

    注意评论和引号! =]

    创build一个xml文件

    像round_background.xml

     <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="oval"> <solid android:color="#CCCC33"/> <size android:width="35dp" android:height="35dp"/> </shape> 

    在布局设置为背景

      <LinearLayout android:id="@+id/layout_wellbeing" android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_weight="1" android:gravity="center" android:background="@drawable/rounded_corner_leuvan" android:orientation="horizontal" > </LinearLayout> 

    尝试这将工作得很好:

    solid背景颜色

    stroke边界

     <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <solid android:color="@color/white"/> <stroke android:width="1dp" android:color="#ffaaaaaa" /> <size android:width="15dp" android:height="15dp"/> </shape>