Day4.3--Android高级UI控件之ProgressBar的使用
来源:互联网 发布:嘀哩嘀哩网站下载软件 编辑:程序博客网 时间:2024/05/15 15:48
ProgressBar--进度条
默认情况下,如果简单的在xml布局文件中,通过<ProgressBar>标签创建出的ProgressBar是圆形进度条样式,如下图所示:
但是通常情况下,我们一般使用的是横向条形进度条,这样就需要给ProgressBar设置不同的样式,ProgressBar可选的样式如下:
1 Widget.ProgressBar.Horizontal
2 Widget.ProgressBar.Small
3 Widget.ProgressBar.Large
4 Widget.ProgressBar.Inverse
5 Widget.ProgressBar.Small.Inverse
6 Widget.ProgressBar.Large.Inverse
当我们将Widget.ProgressBar.Horizontal的样式设置到ProgressBar标签时,代码如下:
<ProgressBar android:layout_width="match_parent" android:layout_height="30dp" android:progress="50" style="?android:attr/progressBarStyleHorizontal" />
通过style属性设置ProgressBar的样式,显示效果如下:
在MainActivity中,我们可以使用ProgressBar的setProgress(int progress)和incrementProgressBy(int diff)动态的设置ProgressBar的进度,如下所示:
pb = (ProgressBar) findViewById(R.id.progressBar_Main);pb.incrementProgressBy(1);pb.setProgress(pb.getProgress() + 10);
以上是ProgressBar的简单使用,针对ProgressBar还有另外一种情况,比如我们在看视频的时间,通常都会有一个播放进度和缓冲进度,那如何使用ProgressBar来实现这样的效果呢,就要使用到ProgressBar的二级进度条。
xml布局文件如下所示:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/hello_world" /> <ProgressBar android:id="@+id/progressBar_Main" android:layout_width="match_parent" android:layout_height="wrap_content" style="?android:attr/progressBarStyleHorizontal" android:progress="50" android:secondaryProgress="70"/> <Button android:id="@+id/increase_progress" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="一级菜单增加" android:onClick="btnClicked"/> <Button android:id="@+id/decrease_progress" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="一级菜单减少" android:onClick="btnClicked"/> <Button android:id="@+id/increase_secondaryProgress" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="二级菜单增加" android:onClick="btnClicked"/> <Button android:id="@+id/decrease_secondaryProgress" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="二级菜单减少" android:onClick="btnClicked"/></LinearLayout>
预览效果如下:
下面是MainActivity中的代码,如何动态的设置一级和二级进度:
package com.danny_jiang.day04_progressbar;import android.app.Activity;import android.os.Bundle;import android.view.Menu;import android.view.MenuItem;import android.view.View;import android.widget.ProgressBar;public class MainActivity extends Activity {private ProgressBar pb;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);pb = (ProgressBar) findViewById(R.id.progressBar_Main);}public void btnClicked(View view) {switch (view.getId()) {case R.id.increase_progress:pb.incrementProgressBy(1);pb.setProgress(pb.getProgress() + 10);break;case R.id.decrease_progress:pb.setProgress(pb.getProgress() - 10);break;case R.id.increase_secondaryProgress:pb.setSecondaryProgress(pb.getSecondaryProgress() + 10);break;case R.id.decrease_secondaryProgress:pb.setSecondaryProgress(pb.getSecondaryProgress() - 10);break;default:break;}}}
运行效果如下图所示:
1 0
- Day4.3--Android高级UI控件之ProgressBar的使用
- Day4.2--Android高级UI控件之AutoCompleteTextView的使用
- 【Android 开发】:UI控件之 ProgressBar 进度条的使用
- Android--UI之ProgressBar
- Android--UI之ProgressBar
- Android UI之ProgressBar
- Day3.2--Android简单UI控件之TextView的高级使用--SpannableString的使用
- Android的Ui高级控件
- Android 高级控件学习--ProgressBar
- Android高级UI ProgressBar实现各种效果的圆形进度
- Android开发之使用ProgressBar控件
- Android UI控件之ProgressBar进度条简单实现
- [Android新手学习笔记14]-UI控件之ProgressBar
- android控件之progressbar
- Android控件之ProgressBar
- Android控件之ProgressBar
- Android控件之ProgressBar
- Android控件之ProgressBar
- iOS 应用状态恢复
- 如何处理大量数据并发操作?
- MySQL索引背后的数据结构及算法原理
- 3.引入MVC设计模式,九宫格算法、字典转模型、自定义 view、xib
- res\HTTPFilter.manifest : general error c1010070: Failed to load and parse the manifest. {_~
- Day4.3--Android高级UI控件之ProgressBar的使用
- 学习使用Eclipse中的Ant的小实例
- 234. Palindrome Linked List(链表模板)
- 问题签名: 问题事件名称: BEX64 及解决方案
- 图形编程
- Android Bitmap面面观
- Android ImageView的scaleType属性与adjustViewBounds属性
- Java中的泛型, 请问< ? extends List > 与 < T extends List >的区别?
- Spring @Controller @Component @Service @Repository区别