热门标签 | HotTags
当前位置:  开发笔记 > Android > 正文

Android七种进度条的样式

在开发中我们经常要用到进度条显示下载或者加载的进度。系统自带的黄色进度条在UI效果上经常不能满足策划或者美工的要求。这就要我们屌丝程序员自己自定义进度条,下面小编给大家介绍Android七种进度条的样式,需要的朋友可以参考下

当一个应用在后台执行时,前台界面就不会有什么信息,这时用户根本不知道程序是否在执行、执行进度如何、应用程序是否遇到错误终止等,这时需要使用进度条来提示用户后台程序执行的进度。Android系统提供了两大类进度条样式,长形进度条(progress-BarStyleHorizontal)
和圆形进度条(progressBarStyleLarge)。进度条用处很多,比如,应用程序装载资源和网络连接时,可以提示用户稍等,这一类进度条只是代表应用程序中某一部分的执行情况,而整个应用程序执行情况呢,则可以通过应用程序标题栏来显示一个进度条,这就需要先对窗口的显示风格进行设置"requestWindowFeature(Window.FEATURE_PROGRESS)"。

先看下面效果图:

例1:(默认样式(中等圆形))

Xml代码

 

例2:(超大圆形)

例1:(默认样式(中等圆形))

Xml代码

 

例2:(超大圆形)

Xml代码

 

例3:(小号圆形)

Xml代码

 

例4:(标题小号圆形)

Xml代码

 

例4-在标题中使用小号圆形的使用代码:

 

Java代码

@Override 

public void onCreate(Bundle savedInstanceState) { 
 super.onCreate(savedInstanceState); 
 //设置标题不确定性进度条风格 
 requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS); 
 setContentView(R.layout.progress_bars); 
 //显示标题不确定性进度条 
 setProgressBarIndeterminateVisibility(true); 
 //关闭标题不确定性进度条 
 //setProgressBarIndeterminateVisibility(false); 
} 

例5:(长方形进度条)

Xml代码

 
   android:max="100" 最大进度值100
   android:progress="50" 当前初始化进度值50
   android:secOndaryProgress="70" 当前初始化第2进度值70

例5-在标题中使用长方形进度条的代码:

 

Java代码

@Override 
public void onCreate(Bundle savedInstanceState) { 
 super.onCreate(savedInstanceState); 
 //设置标题进度条风格 
 requestWindowFeature(Window.FEATURE_PROGRESS); 
 setContentView(R.layout.progress_bars); 
 //显示标题进度 
 setProgressBarVisibility(true); 
 //设置标题当前进度值为5000(标题进度最大值默认为10000) 
 setProgress(5000); 
 //关闭标题进度 
 //setProgressBarVisibility(false); 
} 

例6:(进度对话框-圆形进度条)

 

Java代码

ProgressDialog dialog = new ProgressDialog(this); 
//设置进度条风格,风格为圆形,旋转的 
dialog.setProgressStyle(ProgressDialog.STYLE_SPINNER); 
//设置ProgressDialog 标题 
dialog.setTitle("进度对话框"); 
//设置ProgressDialog 提示信息 
dialog.setMessage("圆形进度条"); 
//设置ProgressDialog 标题图标 
dialog.setIcon(android.R.drawable.ic_dialog_map); 
//设置ProgressDialog 的一个Button 
dialog.setButton("确定", new ProgressDialog.OnClickListener(){ 
 @Override 
 public void onClick(DialogInterface dialog, int which) { 
 } 
}); 
//设置ProgressDialog 的进度条是否不明确 
dialog.setIndeterminate(false); 
//设置ProgressDialog 是否可以按退回按键取消 
dialog.setCancelable(true); 
//显示 
dialog.show(); 

例7:(进度对话框-长方形进度条)

 

Java代码

ProgressDialog dialog = new ProgressDialog(this); 
//设置进度条风格,风格为圆形,旋转的 
dialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL); 
//设置ProgressDialog 标题 
dialog.setTitle("进度对话框"); 
//设置ProgressDialog 提示信息 
dialog.setMessage("长方形进度条"); 
//设置ProgressDialog 标题图标 
dialog.setIcon(android.R.drawable.ic_dialog_alert); 
//设置ProgressDialog的最大进度 
dialog.setMax(100); 
//设置ProgressDialog 的一个Button 
dialog.setButton("确定", new ProgressDialog.OnClickListener(){ 
 @Override 
 public void onClick(DialogInterface dialog, int which) { 
 } 
}); 
//设置ProgressDialog 是否可以按退回按键取消 
dialog.setCancelable(true); 
//显示 
dialog.show(); 
//设置ProgressDialog的当前进度 
dialog.setProgress(50); 

通过本篇文章介绍了Android 七种进度条的样式,希望大家喜欢。


推荐阅读
  • Android LED 数字字体的应用与实现
    本文介绍了一种适用于 Android 应用的 LED 数字字体(digital font),并详细描述了其在 UI 设计中的应用场景及其实现方法。这种字体常用于视频、广告倒计时等场景,能够增强视觉效果。 ... [详细]
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • RecyclerView初步学习(一)
    RecyclerView初步学习(一)ReCyclerView提供了一种插件式的编程模式,除了提供ViewHolder缓存模式,还可以自定义动画,分割符,布局样式,相比于传统的ListVi ... [详细]
  • 解决JAX-WS动态客户端工厂弃用问题并迁移到XFire
    在处理Java项目中的JAR包冲突时,我们遇到了JaxWsDynamicClientFactory被弃用的问题,并成功将其迁移到org.codehaus.xfire.client。本文详细介绍了这一过程及解决方案。 ... [详细]
  • 深入解析Android自定义View面试题
    本文探讨了Android Launcher开发中自定义View的重要性,并通过一道经典的面试题,帮助开发者更好地理解自定义View的实现细节。文章不仅涵盖了基础知识,还提供了实际操作建议。 ... [详细]
  • 本文探讨了 RESTful API 和传统接口之间的关键差异,解释了为什么 RESTful API 在设计和实现上具有独特的优势。 ... [详细]
  • 本文详细介绍了Java编程语言中的核心概念和常见面试问题,包括集合类、数据结构、线程处理、Java虚拟机(JVM)、HTTP协议以及Git操作等方面的内容。通过深入分析每个主题,帮助读者更好地理解Java的关键特性和最佳实践。 ... [详细]
  • Python自动化处理:从Word文档提取内容并生成带水印的PDF
    本文介绍如何利用Python实现从特定网站下载Word文档,去除水印并添加自定义水印,最终将文档转换为PDF格式。该方法适用于批量处理和自动化需求。 ... [详细]
  • 在当前众多持久层框架中,MyBatis(前身为iBatis)凭借其轻量级、易用性和对SQL的直接支持,成为许多开发者的首选。本文将详细探讨MyBatis的核心概念、设计理念及其优势。 ... [详细]
  • 将Web服务部署到Tomcat
    本文介绍了如何在JDeveloper 12c中创建一个Java项目,并将其打包为Web服务,然后部署到Tomcat服务器。内容涵盖从项目创建、编写Web服务代码、配置相关XML文件到最终的本地部署和验证。 ... [详细]
  • XNA 3.0 游戏编程:从 XML 文件加载数据
    本文介绍如何在 XNA 3.0 游戏项目中从 XML 文件加载数据。我们将探讨如何将 XML 数据序列化为二进制文件,并通过内容管道加载到游戏中。此外,还会涉及自定义类型读取器和写入器的实现。 ... [详细]
  • 本文介绍如何在 Unity 的 XML 配置文件中,将参数传递给自定义生命周期管理器的构造函数。我们将详细探讨 CustomLifetimeManager 类的实现及其配置方法。 ... [详细]
  • 本文详细介绍了 Java 中 org.apache.xmlbeans.SchemaType 类的 getBaseEnumType() 方法,提供了多个代码示例,并解释了其在不同场景下的使用方法。 ... [详细]
  • 本文详细介绍了如何解决MyBatis中常见的BindingException错误,提供了多种排查和修复方法,确保Mapper接口与XML文件的正确配置。 ... [详细]
  • 基于KVM的SRIOV直通配置及性能测试
    SRIOV介绍、VF直通配置,以及包转发率性能测试小慢哥的原创文章,欢迎转载目录?1.SRIOV介绍?2.环境说明?3.开启SRIOV?4.生成VF?5.VF ... [详细]
author-avatar
benpk2702933054
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有