在Android开发过程中,经常需要改变控件的默认样式, 那么通常会使用多个图片来解决。不过这种方式可能需要多个图片,比如一个按钮,需要点击时的式样图片,默认的式样图片。 这样就容易使apk变大。

那么除了使用drawable这样的图片外,还有其他方法吗?

本次就谈一下自定义图形shape,Android上支持以下几种属性gradient、stroke、corners、padding、solid等。

1.<shape>   2.    <!-- 实心 -->   3.    <solid android:color="#ff9d77"/>   4.    <!-- 渐变 -->   5.    <gradient   6.        android:startColor="#ff8c00"   7.        android:endColor="#FFFFFF"   8.        android:angle="270" />   9.    <!-- 描边 -->   10.    <stroke   11.        android:width="2dp"   12.        android:color="#dcdcdc" />   13.    <!-- 圆角 -->   14.    <corners   15.        android:radius="2dp" />   16.    <padding   17.        android:left="10dp"   18.        android:top="10dp"   19.        android:right="10dp"   20.        android:bottom="10dp" />   21.</shape>   

solid:实心,就是填充的意思
android:color指定填充的颜色

gradient:渐变
android:startColor和android:endColor分别为起始和结束颜色,

ndroid:angle是渐变角度,必须为45的整数倍。
另外渐变默认的模式为android:type="linear",即线性渐变,可以指定渐变为径向渐变,android:type="radial",径向渐变需要指定半径android:gradientRadius="50"。

stroke:描边
android:width="2dp" 描边的宽度,android:color 描边的颜色。
我们还可以把描边弄成虚线的形式,设置方式为:
android:dashWidth="5dp"

android:dashGap="3dp"
其中android:dashWidth表示'-'这样一个横线的宽度,android:dashGap表示之间隔开的距离。

corners:圆角
android:radius为角的弧度,值越大角越圆。


更多相关文章

  1. Android(安卓)LazyList 从网络获取图片并缓存
  2. Android音乐播放器制作 加入控制台(三)
  3. Android(安卓)刷脸神器,颜值价更高
  4. Android基础入门教程——2.3.1 TextView(文本框)详解
  5. android修改SeekBar默认样式
  6. Android之cardview属性以及阴影处理
  7. Android(安卓)在java代码中使用selector设置setTextColor无效
  8. Android:自定义输入框光标颜色
  9. Android瀑布流优化,解决Recyclerview展示大批量图片时Item自动切

随机推荐

  1. android 使图片显示 圆角
  2. android 常用混淆
  3. android 根据Uri获取文件绝对路径
  4. 根据请求头跳转判断Android&iOS
  5. android 获取设备唯一标识:imei 通过Telep
  6. 重命名sd卡中的文件名
  7. 【Android】Spannable实现文字高亮
  8. IPPH-发送广播
  9. android手势滑动——左右滑动效果实现
  10. 任务栏一键删除 Recent APP