zoukankan      html  css  js  c++  java
  • [Android UI] ProgressBar自定义

    转载自:http://gundumw100.iteye.com/blog/1289348

    1: 在JAVA代码中

    在java代码中 ProgressBar      继承自View, 在android.widegt包中

                     ProgressDialog   继承自Dialog, 在 android.app包中。

    2: 在XML文件中

    ProgressBar 默认是圆形转圈。
    当为ProgressBar设置style="?android:attr/progressBarStyleHorizontal",后ProgressBar变成水平进度条,可以设置progress 和maxprogress

    ProgressBar 在默认情况下,如果设置其它的style:

    <ProgressBar style="@android:style/Widget.ProgressBar.Inverse"/>                    中等大小
    <ProgressBar style="@android:style/Widget.ProgressBar.Large.Inverse"/>           大
    <ProgressBar style="@android:style/Widget.ProgressBar.Small.Inverse"/>           小

    a: 通过动画实现自定义ProgressBar

    定义res/anim/loading.xml如下:

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

    在layout文件中引用如下:

    <ProgressBar
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content"
      android:indeterminate="false" 
      android:indeterminateDrawable="@anim/loading" />


    b:通过自定义颜色实现

    定义res/drawable/dialog_style_xml_color.xml如下:

    <?xml version="1.0" encoding="utf-8"?>
    <rotate xmlns:android="http://schemas.android.com/apk/res/android"
        android:fromDegrees="0"
        android:pivotX="50%"
        android:pivotY="50%"
        android:toDegrees="360" >
    
        <shape
            android:innerRadiusRatio="3"
            android:shape="ring"
            android:thicknessRatio="8"
            android:useLevel="false" >
            <gradient
                android:centerColor="#FFDC35"
                android:centerY="0.50"
                android:endColor="#CE0000"
                android:startColor="#FFFFFF"
                android:type="sweep"
                android:useLevel="false" />
        </shape>
    
    </rotate>

    在layout文件中引用如下:

    <ProgressBar
            android:id="@+id/progressBar1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignRight="@+id/textView1"
            android:layout_below="@+id/textView1"
            android:indeterminateDrawable="@drawable/dialog_style_xml_color"
            android:indeterminate="false"
    android:indeterminateDuration="1000"
    android:layout_marginTop="155dp" />

    c、使用一张图片进行自定义

    定义res/drawable/dialog_style_xml_icon.xml如下:

    <?xml version="1.0" encoding="utf-8"?>
    <layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
    
        <item>
            <rotate
                android:drawable="@drawable/dx_loading_dialog_rotate_img"
                android:fromDegrees="0.0"
                android:pivotX="50.0%"
                android:pivotY="50.0%"
                android:toDegrees="360.0" />
        </item>
    
    </layer-list>


    在layout文件中引用如下:

    <ProgressBar
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content"
       android:indeterminate="false" android:indeterminateDrawable="@drawable/dialog_style_xml_icon" />

    d: <animated-rotate/>旋转一张图片:

    res/drawable/custom_progress_draw.xml:

    <?xml version="1.0" encoding="utf-8"?>
    <animated-rotate xmlns:android="http://schemas.android.com/apk/res/android"
        android:drawable="@drawable/circular"
        android:pivotX="50%"
        android:pivotY="50%" />
    <?xml version="1.0" encoding="utf-8"?>
    <animated-rotate xmlns:android="http://schemas.android.com/apk/res/android"
        android:drawable="@drawable/circular"
        android:pivotX="50%"
        android:pivotY="50%" />
  • 相关阅读:
    JS、JQuery和ExtJs的跨域处理
    百度地图API的IP定位城市和浏览器定位(转)
    jQuery简单易用的网页内容打印插件
    JS控制打印指定div
    好久没弄数学了,一本书上出现了,应该是指代了什么意思,问下.
    Java String类型数据的字节长度
    【转】oracle回闪操作
    c3p0数据库连接池死锁问题
    easyui datagrid 单选框 效果
    js插件---webuploader 使用(lavarel中使用)
  • 原文地址:https://www.cnblogs.com/0616--ataozhijia/p/3748213.html
Copyright © 2011-2022 走看看