说到图片,所有的项目都会有图片,但是有时候有些简单的图片我们不需要让UI设计师帮我们做图片,因为我们可以用shape自己做图片,就比如:
上面一个提交按钮,矩形的四个角带弧度的,刚开始的时候我是懵逼的,其实是SB,啊哈哈,当初直接让设计师做这个图片,我也是醉了。其实很简单用个shape就能搞定了,无论是圆形,矩形,还是带弧度的,或者是描边的。
<?xml version="1.0" encoding="UTF-8"?>
<shape
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle"> <!-- 设置图片的形状为矩形 -->
<!-- 填充的颜色 -->
<solid android:color="#21C064" />
<!-- 设置按钮的四个角为弧形 -->
<!-- android:radius 弧形的半径 -->
<corners android:radius="5dp" />
<!-- padding:Button里面的文字与Button边界的间隔 -->
<!-- <padding
android:left="10dp"
android:top="10dp"
android:right="10dp"
android:bottom="10dp"
/> -->
</shape>
然后设置需要的background为这个xml的名字就行了
相信上面写的很清楚了就不做解释了,shape就是形状的,我们也可以设置为椭圆的oval或者线条line或者圆环ring。
如果需要描边,就用stroke属性设置颜色表示描边的线条颜色,效果如下:
红色描边,内部白色填充,代码:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#efefef"/>
<corners android:radius="3dp"/>
<stroke android:color="@color/red"
android:width="5dp"/>
</shape>
当然shape还有很多比如设置颜色渐变的效果:
扫描二维码关注公众号,回复:
10303941 查看本文章
从黑色到白色的渐变效果,代码:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<gradient
android:startColor="#333333"
android:centerColor="#AAAAAA"
android:endColor="#EEEEEE"
android:type="linear"/>
</shape>
gradient属性就是用来设置渐变效果的,startColor就是最开始的颜色,centerClor就是中间的颜色,endColor就是结束的颜色,type是设置线性渐变即竖着渐变或者横着渐变,还可以设置其他的。
所以很多图片按钮之类的我们都可以用代码来实现,不需要用图片来增加累赘。