• 自定义ProgressBar


    应用场景:自定义带动画进度条

    效果图:

    1.xml文件中添加ProgressBar控件

    代码如下:

    <ProgressBar
            android:id="@+id/customProgressBar"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="15.0dip"
            android:layout_marginBottom="5.0dip"
            android:layout_gravity="center_horizontal"
            style="?android:attr/progressBarStyle"
            android:indeterminate="false"
            android:indeterminateDrawable="@anim/loading" />

    注:

    1)style="?android:attr/progressBarStyle"//设置ProgressBar为默认风格的进度条

    ProgressBar还有其它几种风格:

    style="?android:attr/ progressBarStyleSmall "//设置ProgressBar为小圆形进度条 

    style="?android:attr/progressBarStyleLarge" //设置ProgressBar为大圆形进度条 

    style="?android:attr/progressBarStyleHorizontal" //设置ProgressBar为水平进度条 

    2)android:indeterminate="false"//进度条确定

    进度条分不确定(indeterminate=true)和确定(indeterminate=false)2种,默认值是不确定(indeterminate=true)Android进度条。

    3)android:indeterminateDrawable="@anim/loading"//这个属性指向的是你自定义的样式

    2.res文件夹下创建anim文件夹,并在anim文件夹下创建loading.xml文件

    代码如下:

    <?xml version="1.0" encoding="UTF-8"?>
    <animation-list
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:oneshot="false">
        <item
            android:duration="100"
            android:drawable="@drawable/loading_01" />
        <item
            android:duration="100"
            android:drawable="@drawable/loading_02" />
        <item
            android:duration="100"
            android:drawable="@drawable/loading_03" />
        <item
            android:duration="100"
            android:drawable="@drawable/loading_04" />
        <item
            android:duration="100"
            android:drawable="@drawable/loading_05" />
        <item
            android:duration="100"
            android:drawable="@drawable/loading_06" />
        <item
            android:duration="100"
            android:drawable="@drawable/loading_07" />
    </animation-list>

    注:

    1)<animation-list>为动画的总标签,这里面放着的是帧动画<item>标签,也就是说若干<item>标签的帧组合在一起就是帧动画了。

    2)android:oneshot="false"表示动画循环播放,如果设置true 则表示动画只播发一次。默认值为false。

    3)android:duration="100" 表示这一帧持续100毫秒,可以根据这个值来调节动画播放的速度。

    4)<item>标签中记录着每一帧的信息android:drawable="@drawable/loading_01"表示这一帧用的图片为"loading_01",以此类推。 

    3.最后将图片放在res文件夹下的drawable文件夹下。

  • 相关阅读:
    Python小白的数学建模 ---- 系列课程
    Maven学习笔记
    JavaScript 中的 Var,Let 和 Const 有什么区别
    (鸡汤文)搞懂了 JavaScript 定时器 setTimeout() 的 this 指向!
    setTimeout返回值的验证,(〒︿〒) 请原谅我一直以来对你的忽视
    终于把初中到大学的数学知识梳理完了(学习算法必备数学知识)
    最简单入门深度学习
    机器学习基本流程
    Vue.js源码解析-Vue初始化流程
    最大公约数&最小公倍数
  • 原文地址:https://www.cnblogs.com/renqingping/p/CustomProgressBar.html
Copyright © 2020-2023  润新知