文章参考:课堂教学及《第一行代码》
ProgressBar
ProgressBar进度条
progress进度 bar条 所以总的叫做进度条
进度条的简单几种显示模式
- 其中第一个是模糊模式图形,看不到加载的数据,但是能看到他正在加载。
- 第二个为精确显示的图形,能够看到它的加载显示。
ProgressBar的XML属性
XML属性 | 解释 |
---|---|
android:min | 设置该进度条最小值 |
android:max | 设置该进度条的最大值 |
android:progress | 设置该进度条当前值 |
style | 设置显示样式 |
范例:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
>
<ProgressBar
android:id="@+id/prg1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:min="0"
android:max="100"
android:progress="30"
/>
<ProgressBar
android:id="@+id/prg2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:layout_marginBottom="20dp"
style="?android:progressBarStyleHorizontal"
android:min="0"
android:max="100"
android:progress="30"
/>
<RatingBar
android:id="@+id/rtb"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:numStars="5"
android:stepSize="0.5"
android:rating="3.5"/>
<Button
android:id="@+id/btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="BUTTON"/>
<TextView
android:id="@+id/tv"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="40sp"
android:text="显示文本"
android:gravity="center"/>
</LinearLayout>
第一个没有设置style那么则是模糊模式图形:
第二个ProgressBar设置了:
style="?android:progressBarStyleHorizontal"
代表让这个控件横向显示,因为android:progress=“30”
所以一开始显示就是从30起步
疑问:模糊模式图形旋转的进度条表名我们程序正在加载数据,数据总有加载完的时刻,那么如何做到呢?
这里我们得用到所有控件都有的属性visibility(可见性)
可以通过android:visibility进行指定,可选值有三种:(可见)visible、(不可见)invisible与(不可见)gone.
invisible与gone的区别:
invisible表示控件不可见,但是它仍然占据原来的位置和大小
gone表示控件不可见,而且不占据任何屏幕空间。
当我们没有在控件中指定android:visibility时候,控件默认都是可见的。
我们还可以在JAVA代码中设置布局控件的是否可见的三种属性
在 控件名字.setVisibility() 中传入View.VISIBLE、View.INVISIBLE、View.GONE这三种值
如:
private ProgressBar prg1;
设置prg1控件不可见,不占据任何屏幕空间
代码:
prg1.setVisibility(View.GONE);
在JAVA代码中我们还可以通过 控件名.getVisibility() 来判断是否可见
控件名.setProgress可以设置当前进度,今后开发中可以利用这个作为更新进度。
ProgressBar中的style有很多个样式,可以自己去尝试一下。
RatingBar控件
rating英语表示评价
RatingBar这个控件就是星级评价
大家可以在购物网站评价,五星好评之类的。
它的显示样式:
好了,了解了基本的样式之后,下面介绍基本的XML属性
RatingBar的XML属性
|
XML属性 | 解释 |
---|---|
android:numStar | 设置几颗星星 |
android:stepSize | 设置每次能拖动多少 |
android:rating | 展示时设置默认多少颗星 |
好了,接下看看范例:
<RatingBar
android:id="@+id/rtb"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:numStars="5"
android:stepSize="0.5"
android:rating="5"/>
显示样式:
因为我们设置了numStars为五颗星,rating=5默认开始为满星评价,就显示全亮了。