展会信息港展会大全

Android学习笔记(4)——基本控件之ProgressBar
来源:互联网   发布日期:2015-10-03 10:59:10   浏览:2042次  

导读:ProgressBar 控件ProgressBar就是所谓的进度条,进度条在Android中的样式也分为好几种,有条状的,也有圆形转动的。首先要在布局文件中,定义和设置Pro...

ProgressBar 控件

ProgressBar就是所谓的进度条,进度条在Android中的样式也分为好几种,有条状的,也有圆形转动的。

首先要在布局文件中,定义和设置ProgressBar的样式。

代码片段如下:

<ProgressBar

android:id="@+id/bar1"//设置ProgressBar的id

android:layout_width="200dp"设置ProgressBar的长度

android:layout_height="wrap_content"

style="?android:attr/progressBarStyleHorizontal"//设置ProgressBar的类型为水平条状

android:max="100"//设置ProgressBar总共有多少格

android:visibility="gone"//设置ProgressBar为默认不可见

/>

<ProgressBar

android:id="@+id/bar2"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

style="?android:attr/ progressBarStyleSmall "//设置ProgressBar的类型为小圆圈

android:visibility="gone"

/>

<ProgressBar

android:id="@+id/bar3"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

style="?android:attr/progressBarStyle"//设置ProgressBar的类型为中等圆圈

android:visibility="gone"

/>

<ProgressBar

android:id="@+id/bar4"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

style="?android:attr/progressBarStyleLargeInverse"//设置ProgressBar的类型为反转的大圆圈

android:visibility="gone"

/>

上面的代码定义了四个ProgressBar,其中第一个为条状的进度条,可以设置id,设置进度条的长度,这里的style属性是设置进度条的样式的,在android.R.attr 包中定义了各种样式的参数,有progressBarStyleHorizontal,progressBarStyleSmall,progressBarStyle,progressBarStyleLarge,也有在转圈的样式参数后面加上Inverse,即progressBarStyleSmallInverse,progressBarStyleInverse,progressBarStyleLargeInverse,就可以得到反转的转圈进度条了。

接着在Activity中得到进度条的对象,对于一个ProgressBar对象,我们可以有很多操作,我们可以设置背景色,设置可见与否,设置长宽等许多操作。对于一个条状的进度条,可以这时候设置最大格数,也可以理解为进度条的最大值,默认是100。同时,条状进度条不仅有主进度,还有辅进度条,也可以叫做第二进度条。一般辅进度比主进度跑得快,且主进度条的颜色比辅进度条深,那样可以表示预加载等信息,比较形象。

代码片段如下:

private ProgressBarbar1 = (ProgressBar)findViewById(R.id.bar1);

private ProgressBarbar2 = (ProgressBar)findViewById(R.id.bar2);

private ProgressBarbar3 = (ProgressBar)findViewById(R.id.bar3);

private ProgressBarbar4 = (ProgressBar)findViewById(R.id.bar4);

start = (Button)findViewById(R.id.start);

start.setOnClickListener(new Button.OnClickListener() {

@Override

public void onClick(View arg0) {

// TODO Auto-generated method stub

if(i==0){

bar1.setVisibility(View.VISIBLE); //设置可见

bar2.setVisibility(View.VISIBLE);

bar3.setVisibility(View.VISIBLE);

bar4.setVisibility(View.VISIBLE);

}else if(i<100){

bar1.setProgress(i);

bar1.setSecondaryProgress(i+10);//设置辅进度条

bar2.setProgress(i);

bar3.setProgress(i);

bar4.setProgress(i);

}else{

bar1.setVisibility(View.GONE);

bar2.setVisibility(View.GONE);

bar3.setVisibility(View.GONE);

bar4.setVisibility(View.GONE);

}

i+=10;

}

});

运行效果:

上面的例子中,有一个start按钮,按钮上绑定了一个事件,每次点击start按钮,进度条就会向前走一步。

当然,现实应用肯定会结合线程以及之后要学的Handler来进行自动的改变进度,而不会傻傻的点击使进度条前进,这里的例子只是对ProgressBar的使用做一些解释。

以上内容和之前的几篇博客是一些Android的基础控件,之后就不讲基础控件了,会讲一些Android的特性,因为高阶的控件需要一些Android特性的支持。而且,单纯的基础控件作用并不大,必须结合一些Android特性,才能灵活的做出好的应用。控件的使用方式可以举一反三,可以参考android的api文档来自己学习练习。

附件是示例代码,仅供参考。

本文出自 “战神殿” 博客

赞助本站

人工智能实验室

相关热词: android开发 教程

AiLab云推荐
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港