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

Android 移动开发:ProgressBar(转圈进度条)

目录

Android 移动开发:ProgressBar(转圈进度条)控件实战介绍

📂 文件说明

🧾 activity_main.xml(布局文件,XML)

🧾 MainActivity.java(逻辑代码,Java)

💡 程序运行效果说明


本文将通过一个简单案例,带你学习 Android 中如何使用 ProgressBar(转圈加载条)。这个控件常用于数据加载时的提示,比如网络请求、处理过程等待等场景。

本案例功能:点击按钮显示或隐藏圆形加载进度条。内容简单,适合初学者练手学习。


📂 文件说明

  • activity_main.xml(布局文件,代码类型:XML

  • MainActivity.java(逻辑代码,代码类型:Java


🧾 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"android:padding="16dp"><ProgressBarandroid:id="@+id/pb_1"android:layout_width="wrap_content"android:layout_height="wrap_content"/><Buttonandroid:id="@+id/btn_1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="点击显示隐藏进度条"android:layout_marginTop="10dp"/>
</LinearLayout>

🧾 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) {// 显示或隐藏 ProgressBarif(pb_1.getVisibility() == View.GONE){pb_1.setVisibility(View.VISIBLE);} else {pb_1.setVisibility(View.GONE);}}});}
}

💡 程序运行效果说明

打开应用后,你将看到一个按钮和一个正在转圈的加载条。点击按钮可以切换加载条的显示或隐藏状态,实现控制进度条是否可见的交互功能。

相关文章:

  • C# 面向对象实例演示
  • 私有知识库 Coco AI 实战(六):打造 ES Mapping 小助手
  • C#学习第20天:垃圾回收
  • winget使用
  • UI设计之photoshop学习笔记
  • linux联接服务器SSH-局域网内网穿透分享
  • 【Java】一篇讲透Java中的集合类
  • Centos 7安装 NVIDIA CUDA Toolkit
  • Java 运算符入门指南
  • Win下的Kafka安装配置
  • 闪电贷攻击方式
  • C++(初阶)(十六)——set
  • 网络规划和设计
  • 2025年5月计划(Ue4.0shader源码抄写+ue独立游戏每天一小节)
  • 涨薪技术|0到1学会性能测试第42课-apache监控与调优
  • AI驱动视频批量智能混剪软件生产技术实践
  • README.md文档如何添加丰富多彩的badge标识,五颜六色的tag标签
  • vscode中设置eslint保存时自动格式化未生效
  • 解决vscode cmake提示检测到 #include 错误
  • CMU-15445(2)——PROJECT#0-C++PRIMER
  • 印度宣布即日起对所有巴基斯坦航班关闭领空
  • 空调+零食助顶级赛马备战,上海环球马术冠军赛将焕新登场
  • 海南机场拟超23亿元收购美兰空港控股权,进一步聚焦机场主业
  • 上海:以税务支持鼓励探索更多的创新,助力企业出海
  • 美国第一季度经济环比萎缩0.3%
  • 全国人民代表大会常务委员会公告〔十四届〕第十号