使用ProgressBar实现加载进度条
16lz
2021-01-23
1,ProgressBar是进度条组件,通常用于向用户展示某个耗时操作完成的进度。
2,ProgressBar的关键属性:
*android:max="100"——最大显示进度
*android:progress="50"——第一显示进度
*android:secondaryProgress="80"——第二显示进度
*android:indeterminate="true" ——设置是否不精确显示进度。true表示不精确显示进度,false表示精确显示进度
3,ProgressBar的关键方法:
*setProgress(int)设置第一进度
*setSecondaryProgress(int)设置第二进度
*getProgress()获取第一进度
*getSecondaryProgress() 获取第二进度
*incrementProgressBy(int) 增加或减少第一进度
*incrementSecondaryProgressBy(int)增加或减少第二进度
*getMax() 获取最大进度
4,XML重要属性:
*android:progressBarStyle:默认进度条样式
*android:progressBarStyleHorizontal:水平样式
5,layout布局中的代码:
6,java类中的代码:
public class MainActivity extends Activity implements OnClickListener {private ProgressBar progressBar;private TextView text;private Button add,reduce,reset; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //启用窗口特征,启用带进度和不带进度的进度条 requestWindowFeature(Window.FEATURE_PROGRESS); requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS); setContentView(R.layout.main); //显示两种进度条 setProgressBarVisibility(true); setProgressBarIndeterminateVisibility(true); //标题进度条的最大值max=10000 setProgress(600); //初始化控件 init(); }private void init() {progressBar=(ProgressBar) findViewById(R.id.horizon);add=(Button) findViewById(R.id.add);reduce=(Button) findViewById(R.id.reduce);reset=(Button) findViewById(R.id.reset);text=(TextView) findViewById(R.id.text);//1,获取进度条的第一进度int first=progressBar.getProgress();//2,获取进度条的第二进度int second=progressBar.getSecondaryProgress();//3,获取进度条的最大值int max=progressBar.getMax();//4,设置文本框中的进度百分比text.setText("第一进度百分比:"+(int)(first/(float)max*100)+"%"+" 第二进度百分比:"+(int)(second/(float)max*100)+"%");//5,对三个按钮控件设置监听事件add.setOnClickListener(this);reduce.setOnClickListener(this);reset.setOnClickListener(this);}//通过实现接口的方式来实现对控件的监听@Overridepublic void onClick(View v) {// TODO Auto-generated method stubswitch (v.getId()) {case R.id.add:{//增加第一进度和第二进度10个刻度progressBar.incrementProgressBy(10);progressBar.incrementSecondaryProgressBy(10);break;}case R.id.reduce:{//减少第一进度和第二进度10个刻度progressBar.incrementProgressBy(-10);progressBar.incrementSecondaryProgressBy(-10);break;}case R.id.reset:{//把第一进度和第二进度设置为原来的比例progressBar.setProgress(50);progressBar.setSecondaryProgress(80);break;}default:break;} }//每次点击按钮,都会触发onClick事件,这样每次都可以对text进行更新处理text.setText("第一进度百分比:"+(int)(proressBar.getProgress()/(float)proressBar.getMax()*100)+"% "+ "第二进度百分比:"+(int)(proressBar.getSecondaryProgress()/(float)proressBar.getMax()*100)+"%");}
实现效果:
更多相关文章
- 关于progressbar进度条的显示风格及一些属性的应用
- Android ImageView控件的setMaxWidth、setMaxHeight不起作用
- 如何在XML设定android控件的颜色(十六进制颜色码)
- 安卓控件属性
- Mono登录界面记住密码的控件
- Android 点击父控件让子控件也可以响应点击事件
- Android进度条总结
- Android 自定义进度条