android 圆形进度条 横向进度条 不确定转圈进度条

1 横向进度条

java 复制代码
           <ProgressBar
                            style="@android:style/Widget.ProgressBar.Horizontal"
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content"
                            android:layout_gravity="center"
                            android:max="100"
                            android:secondaryProgress="60"
                            android:progress="55"
                            android:progressDrawable="@drawable/horizontal_progress_drawable_red" />

horizontal_progress_drawable_red.xml

java 复制代码
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:id="@android:id/background">
        <shape>
            <corners android:radius="5px"></corners>
            <solid android:color="@color/redStart"/>
        </shape>
    </item>

    <item android:id="@android:id/secondaryProgress">
        <clip>
            <shape>
                <corners android:radius="2px"></corners>
                <solid android:color="@color/blueEnd"/>
            </shape>
        </clip>
    </item>

    <item android:id="@android:id/progress">
        <clip>
            <shape>
                <corners android:radius="2px"></corners>
                <solid android:color="@color/blueEnd"/>
            </shape>
        </clip>
    </item>

</layer-list>

2 圆形进度条 和第一种是一样的。可以自己控制。

java 复制代码
            <ProgressBar
                android:id="@+id/progress_bar_h"
                style="?android:attr/progressBarStyleHorizontal"
                android:layout_width="500px"
                android:layout_height="500px"
                android:layout_gravity="center"
                android:layout_marginTop="28px"
                android:progressDrawable="@drawable/round_pg_style"
                android:max="100"
                android:progress="1"  />

round_pg_style.xml

java 复制代码
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:id="@android:id/background">
        <shape
            android:innerRadiusRatio="3.5"
            android:shape="ring"
            android:useLevel="false"
            android:type="sweep"
            android:thicknessRatio="25.0">
            <solid android:color="@color/dian_color"/>
        </shape>
    </item>
    <item android:id="@android:id/progress">
        <rotate
            android:pivotX="50%"
            android:pivotY="50%"
            android:fromDegrees="-90"
            android:toDegrees="-90">
            <shape
                android:innerRadiusRatio="3.5"
                android:shape="ring"
                android:angle="0"
                android:type="sweep"
                android:thicknessRatio="25.0">
                <solid android:color="#44aa00"/>
            </shape>
        </rotate>
    </item>
</layer-list>

3 转圈进度条 ,不确定时间

java 复制代码
                    <ProgressBar
                        android:id="@+id/progressBar"
                        android:layout_width="match_parent"
                        android:layout_height="match_parent"
                        android:layout_marginTop="50px" />

4 下载文件,横向进度条 代码

java 复制代码
        ProgressDialog   progress = new ProgressDialog(context);
                progress.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
                progress.setTitle("");
                progress.setMessage("下载中");
                progress.setIndeterminate(false);//设置为fase等待进度更新,设置为true则左右循环滚动
                progress.setMax(100);
                progress.setCancelable(false);
                progress.show();


在ui里面更新

progress.setProgress(msg.arg1);
相关推荐
一笑的小酒馆7 小时前
Android中WebRTC通信
android
KevinWang_10 小时前
Android Hilt 依赖注入
android
古法安卓10 小时前
Android-深入理解 Android 回调(Callback)机制
android·性能优化·android studio
古法安卓10 小时前
Android-车机 GNSS 定位数据接收问题排查
android·java·android studio
FungLeo12 小时前
Flutter 吸顶分组列表实战:语义桶分组 + 点击头平滑滚动
android·flutter
阿巴斯甜13 小时前
Android 自定义权限
android
FungLeo14 小时前
Flutter 超长 StatefulWidget 拆分术:part of + extension on State 实战
android·flutter·dart
小王C语言15 小时前
MySQL 数据类型:数值类型、字符串类型、日期和时间类型、enum 和 set、find_in_set 查询
android·数据库·mysql
我命由我1234515 小时前
Android 控件 - CardView(快速实现圆角)
android·java·java-ee·kotlin·android studio·android-studio·android runtime
码云数智-园园15 小时前
Android 全方位性能优化合集
android·性能优化