当前位置: 首页 > news >正文

Android 移动开发:ProgressBar (水平进度条)

案例目标

这是一个 Android 移动应用开发中使用 ProgressBar(水平进度条) 的简单案例,适合初学者学习。通过点击按钮模拟下载过程,进度条每次前进 10%。本文完整提供 Java 和 XML 源码,适合复制直接使用,并标注了对应的文件名。


一、程序运行效果

打开应用后,页面显示一个水平进度条和一个按钮。点击按钮后,进度条会每次递增 10%,模拟一个“下载”过程。


二、布局文件代码

文件名:activity_main.xml
代码语言:XML

<?xml version="1.0" encoding="utf-8"?>
<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"tools:context=".MainActivity"android:orientation="vertical"><ProgressBarandroid:id="@+id/pb_1"style="?android:attr/progressBarStyleHorizontal"android:max="100"android:layout_width="300dp"android:layout_height="wrap_content"android:layout_marginTop="20dp"/><Buttonandroid:id="@+id/btn_1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="模拟下载"android:layout_marginTop="10dp"/>
</LinearLayout>

三、Java 逻辑代码

文件名:MainActivity.java
代码语言:Java

package com.example.demo6;import androidx.appcompat.app.AppCompatActivity;
import android.annotation.SuppressLint;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ProgressBar;public class MainActivity extends AppCompatActivity {private ProgressBar pb_1;private Button btn_1;@SuppressLint("MissingInflatedId")@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);pb_1 = findViewById(R.id.pb_1);btn_1 = findViewById(R.id.btn_1);btn_1.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {int progress = pb_1.getProgress();progress += 10;if (progress <= 100) {pb_1.setProgress(progress);}}});}
}

四、小结

这个案例帮助大家学习了如何使用 ProgressBar 显示水平进度,并通过按钮控制其进度。适合用于文件下载、上传等进度展示场景。

 

相关文章:

  • 第十一届蓝桥杯 2020 C/C++组 门牌制作
  • DeepSeek V3 架构创新:大规模MoE与辅助损失移除
  • Java面试高频问题(31-33)
  • PDF24 Tools:涵盖20+种PDF工具,简单高效PDF工具箱,支持一键编辑/转换/合并
  • 【论文阅读26】贝叶斯-滑坡预测-不确定性
  • 当算力遇上堵车:AI如何让城市血管不再“血栓”?
  • 范围for 和 万能引用
  • 8.进程概念(四)
  • 【java WEB】恢复补充说明
  • 权限提升—Linux提权内核溢出漏洞辅助项目
  • 《AIStarter安装部署全攻略:AI绘画/数字人项目快速上手指南(含Windows环境配置要点)》
  • python库文件查找详解
  • (33)VTK C++开发示例 ---图片转3D
  • 系统思考:企业效率提升关键
  • TensorRt10学习第一章
  • 数据结构-树(二叉树、红黑、B、B+等)
  • Sentry 异常捕获
  • 【数据分享】2020年中国高精度森林覆盖数据集(免费获取)
  • QMK机械键盘固件开发指南:从源码到实践
  • ffmpeg 元数据
  • 德国旅游胜地发生爆炸事故,11人受伤
  • 拍摄《我们这一代》的肖全开展“江浙沪叙事”
  • 新能源车盈利拐点:8家上市车企去年合计净利854亿元,多家扭亏
  • 中国海警位中国黄岩岛领海及周边区域执法巡查
  • “80后”商洛市委副书记、市政府党组副书记赵孝任商洛市副市长
  • 马上评丨准入壁垒越少,市场活力越足