Android自定义Shape 加上阴影shadow之技巧
发布时间:2021-12-18 17:58:48 所属栏目:教程 来源:互联网
导读:Android支持自定义Shape, 以画出需要的形状,可以作为TextView, EditText, Button的背景drawable资源。Shape很简单,就是一个XML文件,SDK文档里描述其格式如下: ?xml version=1.0 encoding=utf-8? shape xmlns:android=http://schemas.android.com/apk/re
Android支持自定义Shape, 以画出需要的形状,可以作为TextView, EditText, Button的背景drawable资源。Shape很简单,就是一个XML文件,SDK文档里描述其格式如下: <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape=["rectangle" | "oval" | "line" | "ring"] > <corners android:radius="integer" android:topLeftRadius="integer" android:topRightRadius="integer" android:bottomLeftRadius="integer" android:bottomRightRadius="integer" /> <gradient android:angle="integer" android:centerX="integer" android:centerY="integer" android:centerColor="integer" android:endColor="color" android:gradientRadius="integer" android:startColor="color" android:type=["linear" | "radial" | "sweep"] android:usesLevel=["true" | "false"] /> <padding android:left="integer" android:top="integer" android:right="integer" android:bottom="integer" /> <size android:width="integer" android:height="integer" /> <solid android:color="color" /> <stroke android:width="integer" android:color="color" android:dashWidth="integer" android:dashGap="integer" /> </shape> 其支持的属性没有shadow, 做Web前端开发的同学写CSS可以很方便地加一个shadow属性值,如何给Android Shape加一个shadow,以得到类似的效果呢? 答案是使用layer-list ! 直接上代码如下: <?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item> <shape android:shape="rectangle"> <solid android:color="#792a03" /> <corners android:radius="19dp" /> </shape> </item> <item android:top="1px"> <shape android:shape="rectangle"> <gradient android:startColor="#ffdb8f" android:endColor="#ffdb8f" android:angle="270" /> <padding android:left="5dp" android:top="3dp" android:right="5dp" android:bottom="3dp" /> <corners android:radius="20dp" /> </shape> </item> </layer-list> 将以上xml存成btn_test, 放到res/drawable/目录下。 将该drawable xml设为一个TextView的backgroiund, <TextView android:background="@drawable/btn_test" android:layout_marginTop="20dip" android:layout_marginLeft="5dip" android:textColor="#792a03" android:text="1天2小时14分20秒" android:layout_width="wrap_content" android:layout_height="wrap_content" /> (编辑:开发网_开封站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |