一手遮天 Android - view(进度类): ProgressBar 样式

项目地址 https://github.com/webabcd/AndroidDemo
作者 webabcd

一手遮天 Android - view(进度类): ProgressBar 样式

示例如下:

/view/progress/ProgressBarDemo2.java

/**
 * ProgressBar - 进度条控件
 *     setIndeterminateDrawable() - 设置圈圈进度条的样式
 *     setProgressDrawable() - 设置长条进度条的样式
 */

package com.webabcd.androiddemo.view.progress;

import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;

import com.webabcd.androiddemo.R;

public class ProgressBarDemo2 extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_view_progress_progressbardemo2);
    }
}

/layout/activity_view_progress_progressbardemo2.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <!--
        ProgressBar - 进度条控件
            indeterminateDrawable - 圈圈进度条的样式(参见 drawable/layerlist_progressbar_indeterminate, drawable/rotate_progressbar_indeterminate, drawable/animationlist_progressbar_indeterminate)
            indeterminateDuration - 圈圈旋转一圈所用的时间(单位:毫秒)
            progressDrawable - 长条进度条的样式(参见 drawable/layerlist_progressbar_progress)
    -->

    <!--
        旋转一个图片
    -->
    <ProgressBar
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_margin="10dp"
        android:indeterminateDrawable="@drawable/layerlist_progressbar_indeterminate"
        android:indeterminateDuration="1500"/>

    <!--
       旋转一个矢量图形
    -->
    <ProgressBar
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_margin="10dp"
        android:indeterminateDrawable="@drawable/rotate_progressbar_indeterminate"
        android:indeterminateDuration="1500"/>

    <!--
       帧动画
       注:对于帧动画来说,设置 indeterminateDuration 属性无效,因为每帧的显示时长是通过 animation-list 的 item 的 duration 来指定的
    -->
    <ProgressBar
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_margin="10dp"
        android:indeterminateDrawable="@drawable/animationlist_progressbar_indeterminate"/>

    <!--
        长进度条
    -->
    <ProgressBar
        style="@android:style/Widget.ProgressBar.Horizontal"
        android:layout_width="300dp"
        android:layout_height="wrap_content"
        android:layout_margin="10dp"
        android:min="0"
        android:max="100"
        android:progress="30"
        android:secondaryProgress="50"
        android:progressDrawable="@drawable/layerlist_progressbar_progress"/>

</LinearLayout>

项目地址 https://github.com/webabcd/AndroidDemo
作者 webabcd

posted @ 2021-05-31 12:54  webabcd  阅读(277)  评论(0编辑  收藏  举报