安卓 UI系列之ProgressBar

系统默认样式进度条
/**
 * Android 七种进度条的样式
 *  http://www.jb51.net/article/71269.htm 七种样式
 *  http://www.cnblogs.com/Yang-jing/p/3757219.html 属性详解
 */
基于系统进度条自定义样式

/**
 * 基于系统自定义样式的进度条
 *  http://www.jb51.net/article/91909.htm 百分比样式
 *  http://www.jb51.net/article/96146.htm 加载样式
 */
    <ProgressBar
        android:id="@+id/pb_progressbar"
        style="@style/StyleProgressBarMini"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="30dp"
        android:background="@drawable/shape_progressbar_bg"
        android:max="100"
        android:progress="50" />
values/styles.xml

    <style name="StyleProgressBarMini" parent="@android:style/Widget.ProgressBar.Horizontal">
        <item name="android:maxHeight">50dip</item>
        <item name="android:minHeight">10dip</item>
        <item name="android:indeterminateOnly">false</item>
        <item name="android:indeterminateDrawable">
            @android:drawable/progress_indeterminate_horizontal
        </item>
        <item name="android:progressDrawable">@drawable/shape_progressbar_mini</item>
    </style>

drawable/shape_progressbar_bg.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
    <solid android:color="#cecece" />
    <corners android:radius="90dp" />
    <padding
        android:bottom="1dp"
        android:left="1dp"
        android:right="1dp"
        android:top="1dp" />
</shape>

drawable/shape_progressbar_mini.xml

<?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="5dip" />
            <gradient
                android:angle="270"
                android:centerY="0.75"
                android:endColor="#FFFFFF"
                android:startColor="#FFFFFF" />
        </shape>
    </item>
    <item android:id="@android:id/secondaryProgress">
        <clip>
            <shape>
                <corners android:radius="0dip" />
                <gradient
                    android:angle="270"
                    android:centerY="0.75"
                    android:endColor="#df0024"
                    android:startColor="#df0024" />
            </shape>
        </clip>
    </item>
    <item android:id="@android:id/progress">
        <clip>
            <shape>
                <corners android:radius="5dip" />
                <gradient
                    android:angle="270"
                    android:centerY="0.75"
                    android:endColor="#0c07ff"
                    android:startColor="#33fd00" />
            </shape>
        </clip>
    </item>
</layer-list>


百分比进度条



/**
 * 自定义进度条样式示例3
 *  参考项目:
 *      https://github.com/hongyangAndroid/Android-ProgressBarWidthNumber
 */
时间: 2024-12-28 03:02:54

安卓 UI系列之ProgressBar的相关文章

程序员带你学习安卓开发系列-Android文件存储

这是程序员带你学习安卓开发系列教程.本文章致力于面向对象程序员可以快速学习开发安卓技术. 上篇文章:.Net程序员快速学习安卓开发-布局和点击事件的写法 主要讲解了布局和点击事件的写法. 上篇文章补充: 控件单位介绍: px 像素 dip或者dp 设备独立像素 sp 比例像素 控件的高度宽度一般用dip或者dp.字体用sp. Android 存储数据项目: 描述:实现QQ登录效果.如图: 输入帐号密码,并勾选记住帐号 ,点击登录时,保存帐号信息.下次登陆可以直接显示上次保存的QQ帐号. 前台界面

【转】Android UI系列-----时间、日期、Toasts和进度条Dialog

原文网址:http://www.cnblogs.com/xiaoluo501395377/p/3421727.html 您可以通过点击 右下角 的按钮 来对文章内容作出评价, 也可以通过左下方的 关注按钮 来关注我的博客的最新动态. 如果文章内容对您有帮助, 不要忘记点击右下角的 推荐按钮 来支持一下哦 如果您对文章内容有任何疑问, 可以通过评论或发邮件的方式联系我: [email protected] / [email protected] 如果需要转载,请注明出处,谢谢!! 本篇随笔将继续学

如何开发一款以太坊安卓钱包系列3 - 资产信息展示

这是如何开发以太坊(安卓)钱包系列第3篇, 钱包账号资产信息展示,展示信息主要包括账号地址.eth余额及该账号所拥有的Token及余额. 预备知识 MVVM 本文会涉及和UI界面的交互,提前理解下界面和数据如何交互是非常有必要的,如果你已经很熟悉MVVM,可跳过这一小节. 最早写Android的时候,数据和界面经常耦合在一起,一个Activity文件总是特别大,每当产品界面改版就非常痛苦,吐槽下,很多产品经理都喜欢对界面改来改去. 后来Google 推荐多个架构模式: MPV. MVVM模式来解

安卓UI适配限定符

引言 对于程序在不同尺寸的Android机器上运行,对UI的适用性造成了额外的开销,不过限定符的出现,很方便的解决了这个问题.通过创建限定符相关的文件夹来解决资源的加载. 限定符用处 限定符(mdpi,tvdpi,hdpi)可以帮助我们判断屏幕密度 限定符(land,port)可以帮助我们区分屏幕横竖屏状态 限定符(en,fr-)可以帮助我们语言和地区 限定符(v3,v4-)可以帮助我们区分安卓版本 限定符(1024x600-)可以适配计算虚拟键或者不计算虚拟键的屏幕 -- Android SD

安卓UI线程与异步消息处理机制

1,事实上安卓的UI线程是不安全的,所以如果想要更新应用程序的UI元素,必须在主线程中更新 先看一个例子 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:lay

python+appium+yaml安卓UI自动化测试分享

一.实现数据与代码分离,维护成本较低,先看看自动化结构,大体如下: testyaml管理用例,实现数据与代码分离,一个模块一个文件夹 public 存放公共文件,如读取配置文件.启动appium服务.读取Yaml文件.定义日志格式等 page 存放最小测试用例集,一个模块一个文件夹 results 存放测试报告及失败截图 testcase 存放测试用例 runtest.py 运行所有测试用例 运行的结果: 三.yaml格式介绍 element_info:定位元素信息 find_type:属性,i

Android环境搭建-安卓开发系列教程(原创)

[面向人员]:立志于安卓开发的所有人员,做到真正的从零基础起步: [教程说明]:本教程在内容上保证原创.简洁.详细,在附件链接上保证可用.最新.完整: [回帖说明]:教程有不清晰的地方,请及时回帖互动,楼主会第一时间更新帖子,谨以此开源.分享.共进. 1.下载最新版JDK(JDK是运行环境) 官方下载地址:    http://www.oracle.com/technetwor ... nloads-2133151.html 小提示:甲骨文官方下载速度比较慢,请耐心等待 网盘下载地址:http:

安卓UI自适应性

出于安卓的碎片化原因,针对不同屏幕大小,最好是做到以下几点: 1.能用相对布局的就不用绝对布局,尽量使用权重,weight设置,相对布局和线性布局同条件情况下,优先选线性布局 2.在res目录下创建不同的layout文件夹,比如layout-640x360,layout-800x480,所有的layout文件在编译之后都会写入R.java里,而系统会根据屏幕的大小自己选择合适的layout进行使用. 3.不同分辨率横屏竖屏自动切换:布局.xml文件应该有变化 屏幕横竖屏不切换:在对应的Activ

熟悉AndroidAPI系列16—-ProgressBar

设置风格style="?android:attr/progressBarStyleSmall" style="@android:style/Widget.ProgressBar.Horizontal" android中的进度条 各种进度条关系 上图圆圈为ProgressBar,风格为垂直 上图右上为水平风格的ProgressBar 上图坐下为SeekBar 上图星星为RatingBar 控制进度条 max属性: progress属性:当前进度 secondaryPr