深入解析:安卓学习 之 ProgressBar(进度条)控件

首先先新建一个Activity,命名为ProgressBarActivity:

然后在布局文件中增加一个进度条控件,进度条控件默认是圆圈形状的不停地转圈圈的:

下面做了一个水平的进度条,并用代码控制进度条慢慢的涨,这里面需要有一点特别注意啊!

************在android中,4.0以后是不能直接在线程中操作控件的   进度条是个特例*************

下面来看Activity的代码吧:

package com.example.android1;
import android.os.Bundle;
import android.widget.ProgressBar;
import androidx.activity.EdgeToEdge;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;
public class ProgressBarActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
EdgeToEdge.enable(this);
setContentView(R.layout.activity_progress_bar);
ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main), (v, insets) -> {
Insets systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars());
v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom);
return insets;
});
////在android中,4.o以后是不能直接在线程中操作控件的
////进度条十个特例
ProgressBar jindutiao = findViewById(R.id.jindutiao);   //定义一个ProgressBar类型的进度条变量 接收ID为jindutiao的控件
jindutiao.setProgress(80);     //进度条的进度设置为80
new Thread(){                //新建一个线程
public void run(){                  //定义一个方法为run
for(int i = 0; i < 200; i++)   //for循环从开始到200
{
jindutiao.setProgress(i);   //进度条的进度值设置为 变量i
try {                         //试着休眠500ms
Thread.sleep(500);
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
}
}
}.start();  //线程开始
}
}

下面是布局文件的代码:

其实进度条的属性也就学了这么几条?

style   //设置风格的属性
style="?android:attr/progressBarStyleHorizontal" //把进度条设置成水平形状的
android:progress="40"  //设置进度的  百分比就是40/200
android:max="200"   //整条进度条到头的最大值 默认值100
android:indeterminate="true"  //设置是否永恒滚动

还是很简单的,可以下楼走圈圈了。放松一下自己的紧张头脑吧!学习是要慢慢走的,欲速则不达!明天再学!

posted @ 2025-09-08 21:22  wzzkaifa  阅读(10)  评论(0)    收藏  举报