文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Android开发基础使用ProgressBar加载进度条示例

2023-02-05 15:01

关注

前言

之前我们用过WebView类,打开网页时就会出现加载网页的情况,为了让我们直观的感受到网页加载到什么程度而不是白白干等着空白页,于是加载进度条就是一个很好的展示方式,而通常情况下,当我们的数据未加载完成时就会去使用进度条,而ProgressBar就是用于界面上显示进度条的,下面让我们看看这个控件的使用方法。

使用方法

首先我们将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=".WebViewTest">
    ...
    <ProgressBar
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        />
</LinearLayout>

然后运行程序就会发现我们的这个页面上会加载这个进度条的圈:

但我们会发现,这个圈一直在加载,所以就需要我们对这个控件进行控制,正常情况下应该在数据未加载完成前显示,加载完成后隐藏控件的,直接用setVisibility()方法来实现即可,我们这边简化一下,通过点击页面按钮来显示和隐藏:

<FrameLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <WebView
        android:id="@+id/vWebView"
        android:layout_width="match_parent"
        android:layout_height="match_parent"/>
    <Button
        android:id="@+id/vClick"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/button"
        android:layout_gravity="center"/>
</FrameLayout>
binding.vClick.setOnClickListener {
    if (binding.progressBar.visibility == View.VISIBLE) {
        binding.progressBar.visibility = View.GONE
    } else {
        binding.progressBar.visibility = View.VISIBLE
    }
}

效果如下:

但是正常来说,web页面我们一般不使用圈的方式,而是条形,其实很简单,只要改ProgressBar控件在XML布局中的一个属性:

<ProgressBar
    android:id="@+id/progressBar"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    style="?android:attr/progressBarStyleHorizontal"
    android:max="100"
    />

将它的style改为水平进度条,进度条最大长度设置为100,然后在Activity中代码控制这个进度长度即可:

binding.vClick.setOnClickListener {
//            if (binding.progressBar.visibility == View.VISIBLE) {
//                binding.progressBar.visibility = View.GONE
//            } else {
//                binding.progressBar.visibility = View.VISIBLE
//            }
            if (binding.progressBar.progress == 0) {
                binding.progressBar.visibility = View.VISIBLE
            }
            binding.progressBar.progress = binding.progressBar.progress + 10
            if (binding.progressBar.progress == 100) {
                binding.progressBar.progress = 0
                binding.progressBar.visibility = View.GONE
            }
        }

效果如下:

总结

本篇主要是介绍了进度条ProgressBar控件的基本使用方法,这个控件的应用场景非常多,而且现在也有很多封装好更漂亮的控件,当我们需要获取数据去加载时就适合去展示一段加载圈形式的进度条,再配合Dialog的效果,就能让用户感觉到数据的加载过程,这应该也是数据可视化的一种应用吧!

以上就是Android开发基础使用ProgressBar加载进度条示例的详细内容,更多关于Android ProgressBar加载进度条的资料请关注编程网其它相关文章!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-移动开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯