Android 常用的两种(ProgressBar)和(SeekBar)的使用
第一步:安卓界面布局
分别添加2个ProgressBar和1个SeekBar控件,滑动SeekBar控件,第二个ProgressBar控件也跟着滑动,添加一个文本框显示当前滑动的进度。
布局代码如下
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity">
<ProgressBar
android:layout_marginTop="20dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:textSize="20sp"
android:text="正在加载中....."/>
<ProgressBar
android:id="@+id/progress"
android:layout_marginTop="30dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="10dp"
style="@style/Widget.AppCompat.ProgressBar.Horizontal"/>
<SeekBar
android:id="@+id/seekbar"
android:layout_marginTop="20dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
<TextView
android:id="@+id/t1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="20dp"
android:gravity="center"
android:text="当前进度为:0%"/>
</LinearLayout>
界面效果截图:
第二步:实现功能
找到当前的控件并绑定ID
主要功能
seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean b) {
t1.setText("当前进度为:"+progress+"%");//显示当前的进度
progressBar.setProgress(progress);//滑动控件滑动,进度条也跟着移动
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
}
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
if(progressBar.getProgress()>=progressBar.getMax())//判断进度条是否为100%
{
progressBar.setVisibility(View.GONE);//当滑动控件滑动到100%时,进度条消失
seekBar.setEnabled(false);//滑动控件不可滑动
}
else
{
progressBar.setVisibility(View.VISIBLE);//进度条小于100%,显示
}
}
});