• Android中使用Drawbl资源


    Drawble是Android应用中使用最灵活,也是最广泛的资源,不仅可以直接使用".png",“.jpg”,".9.png"等图片做为资源,也可以直接使用多种XML文件作为资源。只要一份XML文件可以被系统编译成Drawble子类的对象,那么这份XML文件就可以作为Drawble资源

    • Drawble下图片资源

    最简单的资源,吧 “.png”,“.jpg”,".9.png"等格式放入/res/ drawble-xxx目录下,Android应用在编译应用时会自佛呢及时加载图片,并在R清单类中生成该资源的索引

    • Drawble下StateList Drawble资源

    用于组织多个 Drawble对象。当使用 StateList Drawble 作为目标组件的背景,背景图片时, StateList Drawble 对象所心事的 Drawble对象会随着目标组件的改变而自动切换

    运用场景:高亮显示文本框

    <?xml version="1.0" encoding="UTF-8"?>
    <selector xmlns:android="
     <!-- 指定获得焦点时的颜色 -->
     <item android:state_focused="true"
        android:color="#f44"/>
     <!-- 指定失去焦点时的颜色 -->
     <item android:state_focused="false"
        android:color="#ccf"/>
    </selector>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • Drawble下Layer Drawble资源

    和 StateList Drawble有点类似, Layer Drawble也可以包含一个 Drawble数组,因此字体将会按照这些 Drawble对象的数组顺序来绘制它们,索引最大的 - Drawble对象将会被绘制在最上面

    运用场景:定制拖动条外观

    <?xml version="1.0" encoding="UTF-8"?>
    <layer-list xmlns:android="
     <!-- 定义轨道的背景 -->
     <item android:id="@android:id/background"
        android:drawable="@drawable/grow" />
     <!-- 定义轨道上已完成部分的外观-->
     <item android:id="@android:id/progress"
        android:drawable="@drawable/ok" />
    </layer-list>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • Drawble 下Shape Drawble资源

    用于定义一个基本的几何图形(例如:圆形,矩形,线性),定义 Shape Drawble的XML文件的跟元素的<shape…>

    运用场景:椭圆形的文本框

    <?xml version="1.0" encoding="UTF-8"?>
    <shape xmlns:android="
     android:shape="rectangle">
     <!-- 设置填充颜色 -->
     <solid android:color="#fff"/>
     <!-- 设置四周的内边距 -->
     <padding android:left="7dp"
        android:top="7dp"
        android:right="7dp"
        android:bottom="7dp" />
     <!-- 设置边框 -->
     <stroke android:width="3dip" android:color="#ff0" />
    </shape>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • Drawble下Clip Drawble资源

    代表从全位图上街区的一个图片的片段,在XML中使用<clip…>开头

    运用场景:慢慢展开的风景

    <?xml version="1.0" encoding="UTF-8"?>
    <clip xmlns:android="
     android:drawable="@drawable/shuangta"
     android:clipOrientation="horizontal"
     android:gravity="center">
    </clip>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • Drawble 下Animation Drawble资源

    代表一个动画,既支持传统的逐帧动画,也支持通过平移、变换计算出来的补间动画。

    <?xml version="1.0" encoding="UTF-8"?>
    <set xmlns:android="
     android:interpolator="@android:anim/linear_interpolator"
     android:duration="5000">
     <!-- 定义缩放变换 -->
     <scale android:fromXScale="1.0"
      android:toXScale="1.4"
      android:fromYScale="1.0"
      android:toYScale="0.6"
      android:pivotX="50%"
      android:pivotY="50%"
      android:fillAfter="true"
      android:duration="2000"/>
     <!-- 定义位移变换 -->
     <translate android:fromXDelta="10"
      android:toXDelta="130"
      android:fromYDelta="30"
      android:toYDelta="-80"
      android:duration="2000"/>
    </set>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20

    源码附件已经打包好上传到百度云了,大家自行下载即可~

    链接: https://pan.baidu.com/s/14G-bpVthImHD4eosZUNSFA?pwd=yu27
    提取码: yu27
    百度云链接不稳定,随时可能会失效,大家抓紧保存哈。

    如果百度云链接失效了的话,请留言告诉我,我看到后会及时更新~

    开源地址
    码云地址:
    http://github.crmeb.net/u/defu

    Github 地址:
    http://github.crmeb.net/u/defu

  • 相关阅读:
    VSCode 占用内存过高
    Towards Class-Oriented Poisoning Attacks Against Neural Networks 论文笔记
    Linux Maven-v3.8.6的安装与配置
    高效管理和盘点固定资产的办法
    给奶牛做直播之三
    centos7安装nodejs运行环境及卸载
    华为云图像识别服务
    SpringCloud的新闻资讯项目11 --- 热点文章-实时计算Kafka Stream
    Windows10系统 无法更换锁屏图片一直转圈圈(含替换系统默认锁屏壁纸教程)异常处理
    C++:CMake重要指令【cmake_minimum_required、project,set、STREQUAL ....】
  • 原文地址:https://blog.csdn.net/qq_39221436/article/details/125621716