Android学习笔记(Android Studio)3-3(ProgressBar ProgressDialog)(加载进度条、转圈圈)UI组件之弹出组件
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组件之弹出组件相关推荐
- android webview设置加载进度条
1.自定义属性文件--attrs.xml <?xml version="1.0" encoding="utf-8"?> <resources& ...
- android 自定义view 加载图片,Android自定义View基础开发之图片加载进度条
学会了Paint,Canvas的基本用法之后,我们就可以动手开始实践了,先写个简单的图片加载进度条看看. 按照惯例,先看效果图,再决定要不要往下看: 既然看到这里了,应该是想了解这个图片加载进度条了, ...
- Android缓冲进度条或加载进度条
缓冲进度条或加载进度条,在加载页面或者视频加载过程中,为了做到更好的UI及App功能体验交互,这些缓冲加载的等待效果是必不可少的: 下面来看一下旋转的动画效果: 那么,他们的具体源码在这里:loadi ...
- Android开发笔记(六十四)网页加载与JS调用
内置浏览器 网页视图WebView 如果一个网站已经有现成的网页及业务逻辑,那么使用WebView将其内嵌到app中,省去了app重画页面与http通信的事情,无疑是更经济的做法.WebView就是A ...
- Android 下载进度条, 自定义加载进度条,loading动画
1.自定义loadingline动画 /*** 作者:created by meixi* 邮箱:13164716840@163.com* 日期:2018/9/6 10*/public class Lo ...
- Android每日源码,微博编辑框ProgressDialog加载“到位”功能流动布局快递小说app
1.支持类似微博的编辑框,可输入表情和@某人 2.自定义ProgressDialog加载提醒 3.快速开发偷懒必备(二) 支持DataBinding啦~爽炸,花式列表一... 4.利用百度地图快速实现 ...
- Android每日源码,微博编辑框ProgressDialog加载“到位”功能流动布局快递小说app...
1.支持类似微博的编辑框,可输入表情和@某人 支持类似微博的编辑框,可输入表情和@某人 2.自定义ProgressDialog加载提醒 自定义ProgressDialog加载提醒 3.快速开发偷懒必备 ...
- Android学习笔记——Android 签名机制详解
Android 签名机制详解 近期由于工作需要在学习 Android 的签名机制,因为没有现成资料,只能通过开发者文档和阅读博客的方式对 Android 签名机制进行大致了解.过程中查阅到的资料相对零 ...
- android学习笔记 android学习速成口诀(张迅雷闪击android系列)
Android架构分4层 用框行li (谐音:用框行礼) Android布局有5种 架线绝对表 (谐音:架电线绝对需要用表) 数据存储5方式 下贱似C网 (谐音:下贱的就是联通CDM ...
最新文章
- 跨域以及一些解决方法
- net.sf.json将string转为map
- python 中一些常用的内置函数
- 用XMLHTTP获取动态页生成的HTML内容
- moment 时间格式化
- linux编写日志接口so,linux下动态链接问题(.so文件的编写与调用) .
- jdk11换jdk8版本_在JDK 9(以及8)以及更高版本中,所有内容都可以作为一个流
- Coder-Strike 2014 - Finals (online edition, Div. 2) A. Pasha and Hamsters
- 计算几何 —— 欧拉公式
- ARM公司的Cortex-M0概况介绍
- SingalR 构建 推送服务器初探
- android 圆角图片 imageview,【android 图片圆角设定】CustomImageView简单一览
- 微软大战Google Earth的利器-虚拟3D地球“Virtual Earth3D”!
- Unity开发OpenXR | (一)OpenXR是什么?一文带你全面了解OpenXR的相关知识,上车收藏不迷路
- Leetcode每日一题2020.11.13第328题:奇偶链表
- CH343芯片应用—硬件设计指南
- 分销系统具有哪些大优势?
- CAP理论/AP架构/CP架构
- windows 服务器 系统属性 高级 处理器计划 内存使用,WindowsXP系统优化.pdf
- 美国Midtronics MDX-600AP系列蓄电池电导及电路系统分析仪|MDX-631|密特MDX-641P|MDX-651P