ProgressBar控件的使用

本文介绍如何在Android应用中使用ProgressBar组件实现简单的进度条动画效果,包括设置样式、最大值、进度位置及可见性。通过实例演示了主进度条和辅助进度条的同步更新,展示了在按钮点击事件触发时动态调整进度条状态的过程。

main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"
/>
<!--
style - 进度条的样式,progressBarStyleHorizontal水平样式 ,progressBarStyle默认样式
max - 进度的最大值 ,默认为100
progress - 第一进度位置
secondaryProgress - 第二进度位置
visibility - 进度条是否可见 gone不可见不会占据位置 ,invisible不可见但会占据位置,visible可见
-->
<ProgressBar
android:id="@+id/fristBar"
android:layout_width="200dp"
android:layout_height="wrap_content"
style="?android:attr/progressBarStyleHorizontal"
android:visibility="gone"
android:max="100"
/>
<ProgressBar
android:id="@+id/secondBar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="gone"
style="?android:attr/progressBarStyle"
/>
<Button
android:id="@+id/myButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="GO"
/>
</LinearLayout>

Activity

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ProgressBar;

public class ProgressTest extends Activity {
//声明对象和变量
private ProgressBar fristBar =null;
private ProgressBar secondBar = null;
private Button mybutton=null;
private int i =0;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//根据控件的ID来获取控件对象
fristBar =(ProgressBar)findViewById(R.id.fristBar);
secondBar =(ProgressBar)findViewById(R.id.secondBar);
mybutton = (Button)findViewById(R.id.myButton);
mybutton.setOnClickListener(new ButtonListener());
}
//给Button设置一个监听器
class ButtonListener implements OnClickListener{

@Override
public void onClick(View v) {
if(i == 0){
//设置进度条处于可见状态
fristBar.setVisibility(View.VISIBLE);
secondBar.setVisibility(View.VISIBLE);
}else if(i<fristBar.getMax()){
//设置主进度条当前值
fristBar.setProgress(i);
//设置第二进度条的当前值
fristBar.setSecondaryProgress(i+10);
////默认的进度条是无法显示进行的状态
secondBar.setProgress(i+10);
}else {
//设置进度条处于不可见状态
fristBar.setVisibility(View.GONE);
secondBar.setVisibility(View.GONE);
}
i += 10;
}
}
}

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值