android之shape做图片

说到图片,所有的项目都会有图片,但是有时候有些简单的图片我们不需要让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是设置线性渐变即竖着渐变或者横着渐变,还可以设置其他的。


所以很多图片按钮之类的我们都可以用代码来实现,不需要用图片来增加累赘。

发布了33 篇原创文章 · 获赞 49 · 访问量 14万+

猜你喜欢

转载自blog.csdn.net/gsw333/article/details/51851996
今日推荐