Android UI控件之ProgressBar进度条

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

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

依照惯例,先上效果图:

第一张:

第二张:

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

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

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:tools="http://schemas.android.com/tools"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  android:orientation="vertical"> 

  <TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="简单进度条的展示"
    android:layout_gravity="center_horizontal"/> 

  <ProgressBar
    android:id="@+id/progressBar1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center_horizontal"
    /> 

  <ProgressBar
    android:id="@+id/progressBar2"
    style="?android:attr/progressBarStyleLarge"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
     android:layout_gravity="center_horizontal"/> 

  <ProgressBar
    android:id="@+id/progressBar3"
    style="?android:attr/progressBarStyleHorizontal"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center_horizontal"
    android:max="100"
    android:minWidth="180dip"
    android:minHeight="40dip"
    /> 

</LinearLayout>

之后是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!

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

您可能感兴趣的文章:

  • android ListView和ProgressBar(进度条控件)的使用方法
  • Android三种方式实现ProgressBar自定义圆形进度条
  • Android ProgressBar进度条和ProgressDialog进度框的展示DEMO
  • Android ProgressBar进度条使用详解
  • Android编程之ProgressBar圆形进度条颜色设置方法
  • Android编程实现自定义ProgressBar样式示例(背景色及一级、二级进度条颜色)
  • Android ProgressBar直线进度条的实例代码
  • Android编程实现类似于圆形ProgressBar的进度条效果
  • android 进度条组件ProgressBar
  • Android开发之ProgressBar字体随着进度条的加载而滚动
(0)

相关推荐

  • Android编程之ProgressBar圆形进度条颜色设置方法

    本文实例讲述了Android ProgressBar圆形进度条颜色设置方法.分享给大家供大家参考,具体如下: 你是不是还在为设置进度条的颜色而烦恼呢--别着急,且看如下如何解决. ProgressBar分圆形进度条和水平进度条 我这里就分享下如何设置圆形进度条的颜色吧,希望对大家会有帮助. 源码如下: 布局文件代码: <ProgressBar android:id="@+id/progressbar" android:layout_width="wrap_content

  • Android ProgressBar直线进度条的实例代码

    直线进度条效果图: 点击下载后的效果图: 布局xml文件: empty Java代码: package com.example.android_rogressbar; import android.os.Handler; import android.os.Message; import android.os.StrictMode; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import

  • android ListView和ProgressBar(进度条控件)的使用方法

    ListView控件的使用:ListView控件里面装的是一行一行的数据,一行中可能有多列,选中一行,则该行的几列都被选中,同时可以触发一个事件,这种控件在平时还是用得很多的.使用ListView时主要是要设置一个适配器,适配器主要是用来放置一些数据.使用起来稍微有些复杂,这里用的是android自带的SimpleAdapter,形式如下:android.widget.SimpleAdapter.SimpleAdapter(Context context, List<? extends Map<

  • Android三种方式实现ProgressBar自定义圆形进度条

    进度条样式在项目中经常可以见到,下面小编给大家分享Android三种方式实现ProgressBar自定义圆形进度条. Android进度条有4种风格可以使用. 默认值是progressBarStyle. 设置成progressBarStyleSmall后,图标变小. 设置成progressBarStyleLarge后,图标变大 设置成progressBarStyleHorizontal后,变成横向长方形. 自定义圆形进度条ProgressBar的一般有三种方式: 一.通过动画实现 定义res/a

  • android 进度条组件ProgressBar

    首先是main.xml文件 代码如下: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:orientation="vertical" android:layout_width="fill_parent" androi

  • Android ProgressBar进度条使用详解

    ProgressBar进度条,分为旋转进度条和水平进度条,进度条的样式根据需要自定义,之前一直不明白进度条如何在实际项目中使用,网上演示进度条的案例大多都是通过Button点击增加.减少进度值,使用方法incrementProgressBy(int),最简单的做法是在xml布局文件中放置ProgressBar空间,然后再MainActivity中触发事件后执行incrementProgressBy(int),代码如下: <LinearLayout xmlns:android="http:/

  • Android编程实现自定义ProgressBar样式示例(背景色及一级、二级进度条颜色)

    本文实例讲述了Android编程实现自定义ProgressBar样式.分享给大家供大家参考,具体如下: 效果图如下,本例中设置了第一级进度条和第二级进度条. 样式资源:progressbar_bg.xml,放在drawable文件夹下: <?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/a

  • Android编程实现类似于圆形ProgressBar的进度条效果

    本文实例讲述了Android编程实现类似于圆形ProgressBar的进度条效果.分享给大家供大家参考,具体如下: 我们要实现一个类似于小米分享中的圆形播放进度条,android自带的圆形ProgressBar是默认自动旋转的,所以无法实现,于是我们想到了使用自定义一个View,来实现这种效果. 首先来看看自己定义的View package cn.easymobi.application.bell.common; import android.content.Context; import an

  • Android ProgressBar进度条和ProgressDialog进度框的展示DEMO

    在做手机开发时,经常碰到一些比较耗时的操作,这个时候进度条就开始派上用场了.这个demo展示了ProgressBar进度条和ProgressDialog进度框.一.ProgressDialog进度框,效果如图所示:代码如下: 复制代码 代码如下: //进度对话框按钮监听     class ProssButtonListener implements OnClickListener {         @Override         public void onClick(View v) {

  • Android开发之ProgressBar字体随着进度条的加载而滚动

    在网上翻阅了很多关于ProgressBar滚动效果,但是始终没有找到适合项目中的这种效果,故自己写这篇文章,记录一下写作过程,给大家做一个参考.先看下最终效果效果图 我这里用的是LICEcap软件录制的gif图,效果有点掉帧,哪位仁兄有比较好的录制gif的软件烦请相告,小弟在此先行谢过. 首先看下xml代码,只有两个系统控件,一个TextView和一个ProgressBar,Button只是为了方便触发进度条的效果,实际项目中可以根据需求来做.首先看下xml中的代码: <?xml version

随机推荐