如何使用shape来画半圆和画虚线

一、很多人对于使用shape画圆可能会比较熟悉,这里也奉上代码

shape可以绘制矩形环形以及椭圆,所以只需要用椭圆即可,在使用的时候将控件比如imageview或textview的高度设置成一样就是正圆,solid表示填充色,stroke则表示边框线,所以两者结合可以实现带边缘的圆,当然也可以直接加上size控制高宽。

<?xml version="1.0" encoding="utf-8"?>

<shape xmlns:android="http://schemas.android.com/apk/res/android"     

  android:shape:"oval"

android:useLevel="false">

<solid android:color="@color/red"/>

<stroke android:width="1dp"

android:color="@color/white"/>

<size android:width="20dp"

android:height="20dp"/>

</shape>


二、现在就说下如何画半圆,代码如下:

<?xml version="1.0" encoding="utf-8"?>

<shape xmlns:android="http://schemas.android.com/apk/res/android"    

    android:shape = "rectangle">

    <soild android:color = "@color/white"/>

    <corners

     android:bottomLeftRadius = "0dp"

     android:bottomRightRadius = "10dp"

     android:topLeftRadius = "0dp"

     android:topRightRadius = "10dp"/>

使用的地方:

<imageview

   android:layout_width = "10dp" //这边的宽高要和shape当中的corners配合使用

   android:layout_height = "20dp"

   android:background = "@drawable/shape"/> //上面的shape

画半圆的关键所在是shape当中的corners和使用的控件(imageview)的width和height配合使用,而且比较坑的是在xml的预览界面当中看不出效果,需要跑真机才能看出效果。


三、最后讲下如何画虚线

<shape xmlns:android="http://schemas.android.com/apk/res/android" 

     android:shape="line"> //这句话一定不要漏了

   <stroke

     android:width = "1dp"

     android:color = "#cfcfcf"

     android:dashGap = "5dp"

     android:dashWidth = "4dp"/>

  <size android:height = "1dp"/> //虚线的高度

</shape>

需要注意的是在使用的时候需要关掉硬件加速:android:hardwareAccelerated = "false"





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值