Android预定义ProgressBar的样式( 二 )

@android:drawable/progress_small_white16dip16dip16dip16dip
其中@:/为显示的图像,剩下的四个Item是定义不确定进度条的显示的大小,这个我们不应该自己来定义,否则会导致不一致问题 。由此,在我们定义自己的样式的时候,可以将适度大小的作为 。
@drawable/progress_small_green
示例Demo
接下来,通过一些代码片段,来进一步加深对的理解 。
标题栏进度条 In Title Bar[3]
在标题栏中,可以在上显示一个不确定进度条或者一个水平进度条 。下面是显示两个进度条的代码片段 。其中涉及进度条更新(进度、隐藏/显示),均必须在UI线程中执行 。
显示不确定进度条
需要在中注册Bar,并且注册必须在调用之前 。
requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);setContentView(R.layout.activity_view_layout);动态的显示或者隐藏Intermediate ProgressBar 。setProgressBarIndeterminateVisibility(true|false);
水平进度条
必须在之前调用 。
requestWindowFeature(Window.FEATURE_PROGRESS);setContentView(R.layout.activity_view_layout);设置进度的长度,0 <= progress <= 10000.setProgress(int progress)设置次要进度的长度,0 <= secondaryProgress <= 10000.setSecondaryProgress(int secondaryProgress)
实时进度[4]
如果想要通过来显示一个真正的进度,必须使用水平条 。在操控水平的进度条时,
如果想要在当前的进度上,增加一些进度,可以调用
public synchronized final void incrementProgressBy(int diff),或者public synchronized void setProgress(int progress) 来改变主进度;调用public synchronized final void incrementSecondaryProgressBy(int diff),或者public synchronized void setSecondaryProgress(int secondaryProgress)来改变次要进度 。其中,diff 为偏移量,progress 和 secondaryProgress为具体的进度 。
中显示进度条[5]
是的一个子类,她在的基础上(能以弹出窗的形式显示),整合了的特性,拥有一个进度指示器( ),和一个可选的文本信息(text )或者视图(view),要求文本信息和视图不能同时存在 。进度范围[0,10000] 。功能很强大的一个控件,有需要可以研究 code
中显示进度条[6] Brain Power
当我们在实现类似 的进度条(在之下,当内容加载时显示) 和 Any.Do的进度条(在之上,当更新内容时显示),我们需要用到的是自定义的,在形如ayout.xml 文件中,声明我们需要的进度条的样式 。个人比较喜欢他们 Holo 的样式,在我们的中可以插入如下代码
@drawable/progress_horizontal_holo_dark1005dip5dipmatch_parentwrap_content@drawable/progress_horizontal_holo_light1005dip5dipmatch_parentwrap_content
其中的为: