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

AndroidUI控件之ProgressBar进度条

这篇文章主要为大家详细介绍了AndroidUI控件之ProgressBar进度条的实现代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

我们知道在所有的界面UI中进度条无疑是非常重要的一个,因为它可以给用户一个较为清晰的视觉效果:就是用户的操作的完成情况.这不是简单的完成与未完成,而是以一个进度的方式展示给用户的交互性更强了。

对于Android系统中的进度条如何使用呢?下一是简单的实现,并未做相关的美化处理。

依照惯例,先上效果图:

第一张:

第二张:

其中两个原型的进度条并未做任何的处理,水平进度条利用线程使之不停地增加减少。

具体实现首先看布局文件:

 
 
   
 
   
 
   
 
   
 
 

之后是MainActivity

package com.kiritor.ui_progressbar; 
 
import android.os.Bundle; 
import android.app.Activity; 
import android.view.Menu; 
import android.widget.ProgressBar; 
 
public class MainActivity extends Activity implements Runnable { 
 
  private ProgressBar bar = null; 
  private Thread thread = null;// 声明一个线程 
  private boolean stateChange; 
 
  @Override 
  protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    bar = (ProgressBar) findViewById(R.id.progressBar3); 
    thread = new Thread(this); 
    thread.start(); 
  } 
 
  @Override 
  public boolean onCreateOptionsMenu(Menu menu) { 
    // Inflate the menu; this adds items to the action bar if it is present. 
    getMenuInflater().inflate(R.menu.main, menu); 
    return true; 
  } 
 
  @Override 
  public void run() { 
    while (true) { 
      int current = bar.getProgress();// 得到当前进度值 
      int currentMax = bar.getMax();// 得到进度条的最大进度值 
      //int secCurrent = bar.getSecondaryProgress();// 得到底层当前进度值 
      // 以下代码实现进度值越来越大,越来越小的一个动态效果 
      if (stateChange == false) { 
        if (current >= currentMax) { 
          stateChange = true; 
        } else { 
          // 设置进度值 
          bar.setProgress(current + 1); 
          // 设置底层进度值 
          bar.setSecondaryProgress(current + 1); 
        } 
      } else { 
        if (current <= 0) { 
          stateChange = false; 
        } else { 
          bar.setProgress(current - 1); 
          bar.setSecondaryProgress(current - 1); 
        } 
      } 
      try { 
        Thread.sleep(50); 
      } catch (InterruptedException e) { 
        // TODO Auto-generated catch block 
        e.printStackTrace(); 
      } 
    } 
 
  } 
} 

以上就是进度条的简单的用法,之后笔者会实现一些“特别”进度条,漂亮的,另类的!代码较为简单就不给源码了Over!

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


推荐阅读
  • Eclipse 中 Maven 的基础配置指南
    本文详细介绍了如何在 Eclipse 环境中配置 Maven,包括环境变量的设置、Maven 插件的安装与配置等关键步骤,旨在帮助开发者顺利搭建开发环境。 ... [详细]
  • 本文介绍了ADB(Android Debug Bridge)的基本概念、安装方法、环境配置、连接真机步骤以及常用命令和高级技巧。ADB是一个强大的工具,适用于Android设备的开发和调试。 ... [详细]
  • 目录介绍01.CoordinatorLayout滑动抖动问题描述02.滑动抖动问题分析03.自定义AppBarLayout.Behavior说明04.CoordinatorLayo ... [详细]
  • 本文介绍了两种有效的方法来检查Android应用是否拥有特定权限,如媒体读写权限(media_rw)。通过这些方法,开发者和安全人员可以更好地了解应用的行为,确保其不会滥用权限。 ... [详细]
  • 本文详细介绍了ejabberd中的验证码服务、接收器以及服务器间通信的监督者和工作进程,包括它们的启动方式和主要功能。 ... [详细]
  • 本文探讨了如何在Android框架下通过自定义资源文件实现系统风格的统一,包括系统资源文件的位置、引用方法、系统主题的设置及修改等内容。 ... [详细]
  • Android 自定义指南针视图实现
    本文介绍了如何在Android应用中自定义绘制指南针视图,包括方位角的计算、不同方向的颜色区分以及视图随手势移动的功能实现。 ... [详细]
  • 在日常开发中,经常需要通过Web服务进行数据交互。然而,在参数传递时会遇到一些限制,例如自定义实体类和Hashtable等复杂数据类型无法直接传递。本文将详细介绍如何在ASP.NET环境中有效地传递Hashtable数据。 ... [详细]
  • 本文详细介绍了DOM(文档对象模型)的基本概念、结构及操作方法。DOM作为一种API,允许开发者以编程方式访问HTML和XML文档的结构,实现页面内容的动态修改。 ... [详细]
  • 本文详细探讨了在 Spring Boot 应用中遇到 'Invalid bound statement (not found)' 错误时的解决方法,重点检查 MyBatis 的配置文件中 mapper-locations 路径设置是否正确。 ... [详细]
  • 构建Struts 2 Web应用程序指南
    本文提供了一个详细的步骤指南,帮助开发者从零开始创建一个简单的Struts 2 Web应用程序,涵盖了从环境搭建到项目部署的全过程。 ... [详细]
  • 优化 DropDownList 与 TextBox 的交互体验
    本文介绍了一种解决方案,通过在 DropDownList 前添加一个 TextBox 来提升用户体验。当选项过多时,用户可以通过在 TextBox 中输入关键词来快速定位并选择相应的选项。 ... [详细]
  • 本教程将指导您完成 Spring Boot 应用程序中 MySQL 数据库的配置,并通过 JdbcTemplate 进行基本的数据操作测试。在此之前,我们已经成功打包并测试了 jar 和 war 包,同时实现了 JSP 页面的访问,但页面数据是静态配置的。现在,让我们一起进入数据库配置的世界。 ... [详细]
  • 现代软件工程开发体验:结对编程
    距现代软件工程开课已经3周,按照课程安排,在最近的9天中,我们进行了极限编程模式的体验:pairwork(结对编程,具体见链接),对象是在academicsearchmap上添加一些新特性。经过选 ... [详细]
  • 本文探讨了在PHP中创建对象并实现工厂模式的正确方法,包括工厂方法模式和抽象工厂模式的具体应用与实现。 ... [详细]
author-avatar
Gemini强强Gemini
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有