返回列表 发新帖

【Android入坑系列教程】13.ProgressBar介绍---你好安卓

[复制链接]

62

主题

722

回帖

2756

积分

大学生

Rank: 5Rank: 5

金币
2029
好评
12
信誉
100

考神

发表于 2019-3-11 13:42:34 | 显示全部楼层 | 阅读模式  来自 四川
本帖最后由 pansong291 于 2019-3-11 19:28 编辑

上篇:12.Toast介绍---你好安卓
下篇:14.OptionsMenu介绍---你好安卓

注意:如果你的回复只是“感谢分享”、“辛苦了”之类的与教程内容无关的字眼,还请不要回复本帖,谢谢合作!!!
注意:如果你的回复只是“感谢分享”、“辛苦了”之类的与教程内容无关的字眼,还请不要回复本帖,谢谢合作!!!
注意:如果你的回复只是“感谢分享”、“辛苦了”之类的与教程内容无关的字眼,还请不要回复本帖,谢谢合作!!!


什么是ProgressBar呢,就是进度条,有默认的样式就是一个圆在不停的转,比如我们在浏览网页的时候网页还没有加载完的时候就会看到。我们可以设置一下样式,横向进度条,比如我们平常在下载内容的时候也会看到。今天我们来做一个小练习,定义两个进度条,一个是默认样式,一个是横向样式,然后再布局一个按钮,我们点击按钮后,横向进度条就前进,当横向进度条走完以后我们把默认转圈的进度条隐藏,再点击按钮就重置进度条和显示圆圈进度条。介绍一下进度条有个主进度,还有个第二进度,我们在线看视频听歌的时候,主进度就是时间,第二进度则是缓冲,这里我们先增加第二进度,第二进度满后,再增加主进度,同时重置第二进度,以此类推。

首先我们新建一个项目,打开我们的布局文件,定义两个ProgressBar,再定义一个按钮,为按钮设置onClick属性。我们第一个进度条为它添加一个id叫bar1,宽度和高度都为包含内容,这个就是默认的进度条,一个圆在不停的转圈。然后我们为第2个进度条添加一个id叫做bar2,我们为它添加这样一个属性 style="?android:attr/progressBarStyleHorizontal" 设置它的样式为横向进度条。宽为匹配父控件,高为包含内容。

然后我们运行我们的项目,最上面的就是我们的默认进度条在一直转,接下来的就是我们的横向进度条,再下面就是我们的按钮。

然后我们打开我们的java代码,声明两个进度条对象,再声明两个变量i1、i2表示第二个横向进度条的主进度值与第二进度值。并且把对象找出来。报错导包,这里不说了。

刚刚不是给按钮定义了个onClick属性吗,现在在Activity里面添加对应的函数,如下图(报错导包):

然后来看我们按钮的事件处理。这里简单介绍一下 if-else 语句,就是表示判断,非常的常用,语法也非常的简单。
其语法格式为
if (条件)
{
    代码块;
}
如果小括号里面的条件成立就执行大括号里面的内容。
后面可以紧跟esle,其语法格式为
if (条件)
{
    代码块1;
}else
{
    代码块2;
}
如果小括号里面的条件成立就执行代码块1;反之执行代码块2;
还有中间可以增加多个else if,其语法格式为
if (条件1)
{
    代码块1;
}else if(条件2)
{
    代码块2;
}else
{
    代码块3;
}
如果条件1成立就执行代码块1;否则判断条件2,成立就执行代码块2;否则执行代码块3;
第三个格式,其中 else if 可以有很多个,else 可以没有也可以有一个。

说完if-else语句后,我们继续分析功能,先进行判断 if (i1 == bar2.getMax()) 主进度值是不是等于进度条的最大值。 getMax()方法返回一个整型,进度条默认的最大值是100,因为我们没有修改进度条的最大值,所以我们也可以写成100。如果是的话,说明主进度已经走完了,我们就要将主进度重置为0,并显示出圆圈进度条;如果不是,再判断第二进度是不是走完了,如果第二进度走完了,我们就要把第二进度值重置为0,并且让主进度值增加20,因为默认进度最大值是100,增加20就是增加了五分之一;如果第二进度也没走完,那就让第二进度值增加25,即四分之一。最后,当主进度值达到最大时,隐藏圆圈进度条。思路分析完了,让我们来看看代码:

接下来运行我们的项目,我们点击一下按钮,横向进度条就会前进,那个颜色比较深的就代表我们的主进度,浅颜色的就是第二进度,我们的进度走完以后,默认的那个转圈进度条就会消失。

记得交作业

上篇:12.Toast介绍---你好安卓
下篇:14.OptionsMenu介绍---你好安卓

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
已有1人评分好评 金币 理由
fsshuo800 + 1 + 1 赞一个!

查看全部评分 总评分:好评 +1  金币 +1 

回复

使用道具 举报

0

主题

28

回帖

113

积分

小学生

Rank: 2

金币
36
好评
0
信誉
100
发表于 2019-3-11 17:26:56 来自手机  | 显示全部楼层  来自 浙江
出个侧滑菜单呗
回复

使用道具 举报

3

主题

564

回帖

957

积分

高中生

Rank: 4

金币
20
好评
0
信誉
100
发表于 2019-12-20 14:50:32 | 显示全部楼层  来自 江西
回复看看
回复

使用道具 举报

4

主题

2808

回帖

8372

积分

硕士生

Rank: 6Rank: 6

金币
5399
好评
1
信誉
100
发表于 2020-1-4 21:39:44 来自手机  | 显示全部楼层  来自 河南
讲解非常详细,适合我这小白学习,向大佬好好学习。
回复

使用道具 举报

12

主题

102

回帖

924

积分

高中生

Rank: 4

金币
135
好评
1
信誉
101

MT论坛帅哥考神

发表于 2020-3-13 09:10:32 来自手机  | 显示全部楼层  来自 山东–济南–
大佬,转圈的那个加载调好像没啥实际作用啊,除了申请个id,两个进度条必须连用才能产生这样的效果吗
回复

使用道具 举报

10

主题

545

回帖

1772

积分

高中生

Rank: 4

金币
595
好评
5
信誉
100
发表于 2020-3-15 18:25:48 来自手机  | 显示全部楼层  来自 江苏
谢谢分享
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表