zoukankan      html  css  js  c++  java
  • 自定义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文件夹下。

  • 相关阅读:
    Entity Framework Core 2.0 新特性
    asp.net core部署时自定义监听端口,提高部署的灵活性
    asp.net core使用jexus部署在linux无法正确 获取远程ip的解决办法
    使用xshell连接服务器,数字键盘无法使用解决办法
    使用Jexus 5.8.2在Centos下部署运行Asp.net core
    【DevOps】DevOps成功的八大炫酷工具
    【Network】Calico, Flannel, Weave and Docker Overlay Network 各种网络模型之间的区别
    【Network】UDP 大包怎么发? MTU怎么设置?
    【Network】高性能 UDP 应该怎么做?
    【Network】golang 容器项目 flannel/UDP相关资料
  • 原文地址:https://www.cnblogs.com/renqingping/p/CustomProgressBar.html
Copyright © 2011-2022 走看看