Android ProgressBar自定义图片进度自定义渐变色进度条文档格式.docx
- 文档编号:17184045
- 上传时间:2022-11-28
- 格式:DOCX
- 页数:18
- 大小:278.40KB
Android ProgressBar自定义图片进度自定义渐变色进度条文档格式.docx
《Android ProgressBar自定义图片进度自定义渐变色进度条文档格式.docx》由会员分享,可在线阅读,更多相关《Android ProgressBar自定义图片进度自定义渐变色进度条文档格式.docx(18页珍藏版)》请在冰豆网上搜索。
大号进度条样式,也是不确定进度模式
progressBarStyleSmall:
小号进度条样式,也是不确定进度模式
二、XML重要属性
max--
这事进度条长度最大值
progress--设定度条当前进度值
secondaryProgress--第二进度条进度值
android:
默认进度条样式
水平样式
style="
?
attr/progressBarStyleLarge"
---属性风格类型--大圆圈,如下图
style=”?
attr/progressBarStyleSmall”---属性风格类型--小圆圈,如下图:
attr/progressBarStyleHorizontal"
--水平进度条--如下图:
几秒钟之后自动滚到到如下:
也可以用下面的形式代替上面的形式的:
<
ProgressBarstyle="
@android:
style/Widget.ProgressBar.Inverse"
/>
//中
style/Widget.ProgressBar.Large.Inverse"
//大圆
style/Widget.ProgressBar.Small.Inverse"
//小圆
三、重要方法
getMax():
返回这个进度条的范围的上限
getProgress():
返回当前进度值
getSecondaryProgress():
返回次要当前进度值
incrementProgressBy(intdiff):
指定增加的进度--即步长
isIndeterminate():
指示进度条是否在不确定模式下
setIndeterminate(booleanindeterminate):
设置不确定模式下
setVisibility(intv):
设置该进度条是否可视
四、重要事件
onSizeChanged(intw,inth,intoldw,intoldh):
当进度值改变时引发此事件
接下来看案例:
1.定义一个布局文件progressbar.xml
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
xmlversion="
1.0"
encoding="
utf-8"
>
ScrollViewxmlns:
android="
layout_width="
fill_parent"
layout_height="
match_parent"
LinearLayout
orientation="
vertical"
TextView
id="
@+id/startText"
wrap_content"
text="
垂直的----标题上面也有一个进度条哦"
textColor="
#CD0000"
background="
#BC8F8F"
!
--style=”?
attr/progressBarStyleLarge”大圆圈-->
ProgressBar
@+id/progtessBer_btn_id1"
attr/progressBarStyleSmall”小圆圈-->
attr/progressBarStyleSmall"
layout_gravity="
center_horizontal"
@+id/startText1"
水平的"
#aaaaaa"
--
style="
水平进度条-->
@+id/progtessBer_btn_id2"
@string/progress_text"
/LinearLayout>
/ScrollView>
2.之后定义java文件:
ProgressBarDemo.java
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
packagecom.dream.app.start.first.prograssbar;
importcom.dream.app.start.MenuDemo;
importcom.dream.app.start.R;
importcom.dream.app.start.R.id;
importcom.dream.app.start.R.layout;
importcom.dream.app.start.utils.PublicClass;
importandroid.app.Activity;
importandroid.content.Intent;
importandroid.os.Bundle;
importandroid.os.Handler;
importandroid.text.method.ScrollingMovementMethod;
importandroid.view.View;
importandroid.view.View.OnClickListener;
importandroid.view.Window;
importandroid.widget.AdapterView;
importandroid.widget.AdapterView.OnItemClickListener;
importandroid.widget.ArrayAdapter;
importandroid.widget.Button;
importandroid.widget.ListView;
importandroid.widget.ProgressBar;
importandroid.widget.TextView;
importandroid.widget.Toast;
publicclassProgressBarDemoextendsPublicClass{
privateProgressBar
progressbar,progressbar_1;
Button
btn1,btn2;
privateint
prostatus=0;
//创建一个handler对象
private
Handler
handler=newHandler();
@Override
protectedvoidonCreate(BundlesavedInstanceState){
//TODOAuto-generatedmethodstub
super.onCreate(savedInstanceState);
//在标题条里放置进度条。
请求窗口特色风格,这里设置成不明确的进度风格
requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
//设置窗口进度条特性风格
//
requestWindowFeature(Window.FEATURE_PROGRESS);
setContentView(R.layout.progressbar);
//设置标题栏中的不明确的进度条是否可以显示,当你需要表示处理中的时候设置为True,处理完毕后设置为false
setProgressBarIndeterminateVisibility(true);
//设置进度条进度值,要乘以100的
setProgress(60*100);
setSecondaryProgress(80*100);
btn2=(Button)findViewById(R.id.button_cancel);
btn2.setOnClickListener(onClick);
progressbar=(ProgressBar)findViewById(R.id.progtessBer_btn_id2);
progressbar_1=(ProgressBar)findViewById(R.id.progtessBer_btn_id1);
//设置进度条的最大值
progressbar.setMax(100000);
progressbar_1.setMax(100000);
//新开启一个进程
newThread(newRunnable(){
publicvoidrun(){
//循环1000次,不断地更新prostatus状态值
while(prostatus++<
100000){
//将一个Runnable对象添加到消息队列中去
//并且当执行该对象的时候,执行run
handler.post(newRunnable(){
//重新设置进度条当前的值
progressbar.setProgress(prostatus);
progressbar_1.setProgress(prostatus);
}
});
}).start();
//toast方法
privatevoidtoastshow(Stringstr){
Toast.makeText(getApplicationContext(),str,Toast.LENGTH_SHORT).show();
运行效果如下:
二:
用图片实现滚动效果:
1.添加图片到drawable下
2.自定义图片资源文件iamge_progress.xml
animated-rotate
xmlns:
drawable="
@drawable/image_progress"
pivotX="
50%"
pivotY="
3.定义布局文件,progress.xml
LinearLayoutxmlns:
gravity="
center"
indeterminateDrawable="
@drawable/drawable_progress"
100dp"
三》自定义渐变色进度条:
定义drawable资源文件color_progressbar.xml
layer-listxmlns:
itemandroid:
id/background"
shape>
cornersandroid:
radius="
5dip"
/>
gradientandroid:
startColor="
#ff9d9e9d"
centerColor="
#ff5a5d5a"
centerY="
0.75"
endColor="
#ff747674"
angle="
270"
/shape>
/item>
id/secondaryProgress"
clip>
#80ffd300"
#80ffb600"
#a0ffcb00"
/clip>
id/progress"
#FF3030"
#AEEEEE"
/layer-list>
2.定义对应的不布局文件:
progressbar.xml在此文件中引用我们定义的drawable资源配置文件
andro
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Android ProgressBar自定义图片进度自定义渐变色进度条 ProgressBar 自定义 图片 进度 渐变 进度条