Android学习笔记3-3


推荐新手向学习视频:B站https://www.bilibili.com/video/av38409964点我传送


3-3 ProgressBar & ProgressDialog(加载进度条、转圈圈)

今天下了一个叫ScreenToGif的软件,可以截取动图了,啦啦啦

  • 一些未展示属性

    • android:secondaryProgress=“30” 设置二级进度条为30
    • android:indeterminateDrawable="@drawable/bg_progress" 设置自定义样式
  • activity_progress.xml文件

      <?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"android:gravity="center_horizontal"android:padding="15dp"><ProgressBarandroid:id="@+id/pb1"android:layout_width="wrap_content"android:layout_height="wrap_content"/><ProgressBarandroid:id="@+id/pb2"android:layout_width="wrap_content"android:layout_height="wrap_content"style="@android:style/Widget.ProgressBar"android:layout_marginTop="10dp"/><ProgressBarandroid:id="@+id/pb3"android:layout_width="match_parent"android:layout_height="wrap_content"style="@android:style/Widget.ProgressBar.Horizontal"android:layout_marginTop="10dp"android:max="100"android:progress="10"android:secondaryProgress="30"/><ProgressBarandroid:id="@+id/pb4"android:layout_width="match_parent"android:layout_height="wrap_content"style="@android:style/Widget.Material.ProgressBar.Horizontal"android:layout_marginTop="10dp"android:max="100"android:progress="10"android:secondaryProgress="30"/><Buttonandroid:id="@+id/btn_start"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="模拟进度条"android:layout_marginTop="10dp"/><ProgressBarandroid:id="@+id/pb5"android:layout_width="wrap_content"android:layout_height="wrap_content"style="@style/MyProgressBar"  自定义效果android:layout_marginTop="10dp"/><Buttonandroid:id="@+id/btn_progress_dialog1"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="ProgressDialog1"android:textAllCaps="false"android:layout_marginTop="10dp"/><Buttonandroid:id="@+id/btn_progress_dialog2"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="ProgressDialog2"android:textAllCaps="false"android:layout_marginTop="10dp"/></LinearLayout>
    
  • 效果

  • drawable下的自定义布局bg_progress.xml文件

      <?xml version="1.0" encoding="utf-8"?><animated-rotate xmlns:android="http://schemas.android.com/apk/res/android"android:drawable="@drawable/icon_progress"android:pivotX="50%"android:pivotY="50%"><!--两个50%确定图片的旋转中心--></animated-rotate>
    
  • styles.xml文件里添加自定义样式

      <style name="MyProgressBar"><item name="android:indeterminateDrawable">@drawable/bg_progress</item></style>
    
  • ProgressActivity.java文件

      package com.ylw.helloworld;import androidx.annotation.NonNull;import androidx.appcompat.app.AppCompatActivity;import android.app.ProgressDialog;import android.content.DialogInterface;import android.os.Bundle;import android.os.Handler;import android.os.Message;import android.view.View;import android.widget.Button;import android.widget.ProgressBar;import com.ylw.helloworld.util.ToastUtil;public class ProgressActivity extends AppCompatActivity {private ProgressBar mPb3;private Button mBtnStart,mBtnProgressDialog1,mBtnProgressDialog2;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_progress);mPb3 = findViewById(R.id.pb3);mBtnStart = findViewById(R.id.btn_start);mBtnProgressDialog1 = findViewById(R.id.btn_progress_dialog1);mBtnProgressDialog2 = findViewById(R.id.btn_progress_dialog2);mPb3.setProgress(30);   //设置进度条到30mBtnStart.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {handler.sendEmptyMessage(0);}});mBtnProgressDialog1.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {//虽然标了中划线但还是可以用的ProgressDialog progressDialog = new ProgressDialog(ProgressActivity.this);progressDialog.setTitle("提示");progressDialog.setMessage("正在加载");progressDialog.setOnCancelListener(new DialogInterface.OnCancelListener() { //监听取消@Overridepublic void onCancel(DialogInterface dialog) {ToastUtil.showMsg(ProgressActivity.this,"cancel...");}});progressDialog.setCancelable(false);    //设置不可以被取消progressDialog.show();}});mBtnProgressDialog2.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {//虽然标了中划线但还是可以用的ProgressDialog progressDialog = new ProgressDialog(ProgressActivity.this);progressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);   //设置样式为进度条progressDialog.setTitle("提示");progressDialog.setMessage("正在下载...");//设置按钮和点击事件progressDialog.setButton(DialogInterface.BUTTON_POSITIVE, "等一会", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {//}});progressDialog.show();}});}Handler handler = new Handler(){    //容器@Overridepublic void handleMessage(@NonNull Message msg) {super.handleMessage(msg);if (mPb3.getProgress()<100){    //如果进度小于100handler.postDelayed(runnable,500);   //延迟500毫秒发出消息}else{ToastUtil.showMsg(ProgressActivity.this,"加载完成");}}};Runnable runnable = new Runnable() {    //线程@Overridepublic void run() {mPb3.setProgress(mPb3.getProgress()+5); //把当前进度+5handler.sendEmptyMessage(0);}};}
    
  • 效果(今天下了一个叫ScreenToGif的软件,可以截取动图了,啦啦啦)

  • 模拟进度条效果

  • ProgressDialog1效果

  • ProgressDialog2效果

Android学习笔记(Android Studio)3-3(ProgressBar ProgressDialog)(加载进度条、转圈圈)UI组件之弹出组件相关推荐

  1. android webview设置加载进度条

    1.自定义属性文件--attrs.xml <?xml version="1.0" encoding="utf-8"?> <resources& ...

  2. android 自定义view 加载图片,Android自定义View基础开发之图片加载进度条

    学会了Paint,Canvas的基本用法之后,我们就可以动手开始实践了,先写个简单的图片加载进度条看看. 按照惯例,先看效果图,再决定要不要往下看: 既然看到这里了,应该是想了解这个图片加载进度条了, ...

  3. Android缓冲进度条或加载进度条

    缓冲进度条或加载进度条,在加载页面或者视频加载过程中,为了做到更好的UI及App功能体验交互,这些缓冲加载的等待效果是必不可少的: 下面来看一下旋转的动画效果: 那么,他们的具体源码在这里:loadi ...

  4. Android开发笔记(六十四)网页加载与JS调用

    内置浏览器 网页视图WebView 如果一个网站已经有现成的网页及业务逻辑,那么使用WebView将其内嵌到app中,省去了app重画页面与http通信的事情,无疑是更经济的做法.WebView就是A ...

  5. Android 下载进度条, 自定义加载进度条,loading动画

    1.自定义loadingline动画 /*** 作者:created by meixi* 邮箱:13164716840@163.com* 日期:2018/9/6 10*/public class Lo ...

  6. Android每日源码,微博编辑框ProgressDialog加载“到位”功能流动布局快递小说app

    1.支持类似微博的编辑框,可输入表情和@某人 2.自定义ProgressDialog加载提醒 3.快速开发偷懒必备(二) 支持DataBinding啦~爽炸,花式列表一... 4.利用百度地图快速实现 ...

  7. Android每日源码,微博编辑框ProgressDialog加载“到位”功能流动布局快递小说app...

    1.支持类似微博的编辑框,可输入表情和@某人 支持类似微博的编辑框,可输入表情和@某人 2.自定义ProgressDialog加载提醒 自定义ProgressDialog加载提醒 3.快速开发偷懒必备 ...

  8. Android学习笔记——Android 签名机制详解

    Android 签名机制详解 近期由于工作需要在学习 Android 的签名机制,因为没有现成资料,只能通过开发者文档和阅读博客的方式对 Android 签名机制进行大致了解.过程中查阅到的资料相对零 ...

  9. android学习笔记 android学习速成口诀(张迅雷闪击android系列)

    Android架构分4层  用框行li   (谐音:用框行礼) Android布局有5种  架线绝对表 (谐音:架电线绝对需要用表) 数据存储5方式    下贱似C网   (谐音:下贱的就是联通CDM ...

最新文章

  1. 跨域以及一些解决方法
  2. net.sf.json将string转为map
  3. python 中一些常用的内置函数
  4. 用XMLHTTP获取动态页生成的HTML内容
  5. moment 时间格式化
  6. linux编写日志接口so,linux下动态链接问题(.so文件的编写与调用) .
  7. jdk11换jdk8版本_在JDK 9(以及8)以及更高版本中,所有内容都可以作为一个流
  8. Coder-Strike 2014 - Finals (online edition, Div. 2) A. Pasha and Hamsters
  9. 计算几何 —— 欧拉公式
  10. ARM公司的Cortex-M0概况介绍
  11. SingalR 构建 推送服务器初探
  12. android 圆角图片 imageview,【android 图片圆角设定】CustomImageView简单一览
  13. 微软大战Google Earth的利器-虚拟3D地球“Virtual Earth3D”!
  14. Unity开发OpenXR | (一)OpenXR是什么?一文带你全面了解OpenXR的相关知识,上车收藏不迷路
  15. Leetcode每日一题2020.11.13第328题:奇偶链表
  16. CH343芯片应用—硬件设计指南
  17. 分销系统具有哪些大优势?
  18. CAP理论/AP架构/CP架构
  19. windows 服务器 系统属性 高级 处理器计划 内存使用,WindowsXP系统优化.pdf
  20. 美国Midtronics MDX-600AP系列蓄电池电导及电路系统分析仪|MDX-631|密特MDX-641P|MDX-651P

热门文章

  1. pandas指定从第一行读取正文数据
  2. ArcMap 打不开
  3. k8s利用deployment部署pod,以及应用更新和回滚操作
  4. RSD处理高分5号高光谱(GF5 AHSI)数据(二)——波段编辑复制和删除
  5. hashmap中的key是有序的么_Java中的HashMap,为什么输出竟然是有序的
  6. STM32单片机SPI通讯
  7. 畸变校正与极线校正(具体原理+Matlab代码)
  8. [管理篇]VMWare搭建Openstack——Cinder完成对云硬盘的扩容
  9. 我的Android进阶之旅------经典的大客推荐(排名不分先后)!!
  10. PHP trait的使用