当前位置: 首页 > 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 显示水平进度,并通过按钮控制其进度。适合用于文件下载、上传等进度展示场景。

 

http://www.dtcms.com/a/167462.html

相关文章:

  • 第十一届蓝桥杯 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 元数据
  • Python 常用内置函数详解(七):dir()函数——获取当前本地作用域中的名称列表或对象的有效属性列表
  • stm32数码管显示数字/循环
  • 【Redis】Another Redis Desktop Manager 安装指南
  • podman/docker国内可用的docker镜像源(2025-05)
  • Linux btop 使用教程
  • Wireshark抓取SMTP协议报文
  • 如何提升自我执行力?
  • Linux51 安装baidunetdisk yum install rpm -ivh
  • 中科院:通过内部表示优化LLM上下文利用
  • 图解 Git 工作流:理解 Rebase、Merge 与 Pull Request 的区别