Android中设置shape的gradientRadius出现java.lang.IllegalArgumentException: radius must be > 0错误
分类:Android, Java
阅读 (4,022)
Add comments
1月 092017
今天写一个shape的drawable资源,实心部分是用放射形的渐变填充的,gradientRadius属性使用的百分比值来设定,如下代码:
1 2 3 4 5 6 7 8 9 10 |
<?xml version="1.0" encoding="utf-8"?> <shape android:shape="oval" xmlns:android="http://schemas.android.com/apk/res/android"> <gradient android:type="radial" android:endColor="@color/cadetblue" android:startColor="@color/whitesmoke" android:centerX="0.5" android:centerY="0.3" android:gradientRadius="100%"></gradient> </shape> |
在小米手上运行正常,但是在三星Note3上报java.lang.IllegalArgumentException: radius must be > 0错误,经在网上搜索后将100%改成100%p就没问题了,修改后的代码如下:
1 2 3 4 5 6 7 8 9 10 |
<?xml version="1.0" encoding="utf-8"?> <shape android:shape="oval" xmlns:android="http://schemas.android.com/apk/res/android"> <gradient android:type="radial" android:endColor="@color/cadetblue" android:startColor="@color/whitesmoke" android:centerX="0.5" android:centerY="0.3" android:gradientRadius="100%p"></gradient> </shape> |