zoukankan      html  css  js  c++  java
  • Android 圆形ProgressBar风格设置

      Android系统自带的ProgressBar风格不是很好,如果想自己设置风格的话,一般有几种方法。首先介绍一下第一种方法通过动画实现。在res的anim下创建动画资源loading.xml:

     1 <?xml version="1.0" encoding="utf-8"?>
     2 <animation-list xmlns:android="http://schemas.android.com/apk/res/android"
     3     android:oneshot="false" >
     4 
     5     <item
     6         android:drawable="@drawable/common_loading_0"
     7         android:duration="100"/>
     8     <item
     9         android:drawable="@drawable/common_loading_1"
    10         android:duration="100"/>
    11     <item
    12         android:drawable="@drawable/common_loading_2"
    13         android:duration="100"/>
    14     <item
    15         android:drawable="@drawable/common_loading_3"
    16         android:duration="100"/>
    17     <item
    18         android:drawable="@drawable/common_loading_4"
    19         android:duration="100"/>
    20     <item
    21         android:drawable="@drawable/common_loading_5"
    22         android:duration="100"/>
    23     <item
    24         android:drawable="@drawable/common_loading_6"
    25         android:duration="100"/>
    26     <item
    27         android:drawable="@drawable/common_loading_7"
    28         android:duration="100"/>
    29     <item
    30         android:drawable="@drawable/common_loading_8"
    31         android:duration="100"/>
    32     <item
    33         android:drawable="@drawable/common_loading_9"
    34         android:duration="100"/>
    35     <item
    36         android:drawable="@drawable/common_loading_10"
    37         android:duration="100"/>
    38     <item
    39         android:drawable="@drawable/common_loading_11"
    40         android:duration="100"/>
    41 
    42 </animation-list>

      然后在布局文件中调用即可:

    1 <ProgressBar
    2             android:layout_width="40dp"
    3             android:layout_height="40dp"
    4             android:layout_gravity="center_horizontal"
    5             android:indeterminate="false"
    6             android:indeterminateDrawable="@anim/loading" />

      备注:ProgressBar的大小需要按照图片的大小来调整,不然的话效果不是很好。
      第二种方法是使用一张图片进行定义。在res的drawable里创建loading.xml文件。

     1 <?xml version="1.0" encoding="utf-8"?>
     2 <layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
     3 
     4     <item>
     5         <rotate
     6             android:drawable="@drawable/common_loading"
     7             android:fromDegrees="0.0"
     8             android:pivotX="50.0%"
     9             android:pivotY="50.0%"
    10             android:toDegrees="360.0" />
    11     </item>
    12 
    13 </layer-list>

      然后在布局文件里调用即可,代码:

    1 <ProgressBar
    2         android:id="@+id/loading_process_dialog_progressBar"
    3         android:layout_width="wrap_content"
    4         android:layout_height="wrap_content"
    5         android:indeterminate="false"
    6         android:indeterminateDrawable="@drawable/loading" />

      备注:这也的方法有个不好的地方是旋转的有点慢,我也没有找到什么方法可以调整它旋转的速度,如果有更好的方法,希望跟我联系一下,QQ:981805903。

  • 相关阅读:
    ARM64架构下登录mysql出错:mysql: error while loading shared libraries: libncurses.so.5: cannot open shared object file:
    Linux按文件名搜索命令
    kubernetes集群部署nacos:Caused by: java.lang.IllegalArgumentException: Could not resolve placeholder 'MYSQL_SERVICE_HOST'
    kubernetes集群:gitlab搭建(ssh和http都能访问)
    centos7 逻辑卷缩容(xfs格式)翻车现场
    k8s集群:postgresql的pod启动失败
    no matches for kind "Deployment" in version "apps/v1beta1"
    Kubernetes集群搭建以及部署高可用ingress
    centos7安装mysql5.7
    kubernetes集群node节点重启docker的操作顺序
  • 原文地址:https://www.cnblogs.com/phj981805903/p/3243665.html
Copyright © 2011-2022 走看看