Android 实现加载动画
首先在drawable下建一个anim_loading.xml,代码如下:
<?xml version="1.0" encoding="utf-8"?>
<animation-list
xmlns:android="http://schemas.android.com/apk/res/android"android:oneshot="false"><item android:duration="130" android:drawable="@drawable/image_loading_01"></item><item android:duration="130" android:drawable="@drawable/image_loading_02"></item><item android:duration="130" android:drawable="@drawable/image_loading_03"></item><item android:duration="130" android:drawable="@drawable/image_loading_04"></item><item android:duration="130" android:drawable="@drawable/image_loading_05"></item><item android:duration="130" android:drawable="@drawable/image_loading_06"></item></animation-list>
在layout文件下建一个layout_dialog.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="wrap_content"android:background="@drawable/aa_dialog_bg"android:gravity="center"android:padding="10dp"android:orientation="vertical"><ProgressBar
android:id="@+id/loading_progressBar"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_margin="5.0dip"android:indeterminateDrawable="@drawable/animation_loading" /><TextView
android:id="@+id/tv_reminder"android:layout_width="wrap_content"android:layout_height="wrap_content"android:textSize="12sp"android:text="加载中..."android:textColor="@color/colorTextGray" /></LinearLayout>
实现dialog的调用:
package youhua.com.mytestapp;import android.app.Activity;
import android.app.Dialog;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.LinearLayout;
import android.widget.TextView;/*** description:弹窗浮动加载进度条*/
public class LoadingDialog {/** 加载数据对话框 */private static Dialog mLoadingDialog;/*** 显示加载对话框* @param context 上下文* @param msg 对话框显示内容* @param cancelable 对话框是否可以取消*/public static Dialog showDialogForLoading(Activity context, String msg, boolean cancelable) {View view = LayoutInflater.from(context).inflate(R.layout.layout_dialog, null);TextView loadingText = (TextView)view.findViewById(R.id.tv_reminder);loadingText.setText(msg);mLoadingDialog = new Dialog(context, R.style.CustomProgressDialog);mLoadingDialog.setCancelable(cancelable);mLoadingDialog.setCanceledOnTouchOutside(false);mLoadingDialog.setContentView(view, new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT));mLoadingDialog.show();return mLoadingDialog;}public static Dialog showDialogForLoading(Activity context) {View view = LayoutInflater.from(context).inflate(R.layout.layout_dialog, null);TextView loadingText = (TextView)view.findViewById(R.id.tv_reminder);loadingText.setText("加载中...");mLoadingDialog = new Dialog(context, R.style.CustomProgressDialog);mLoadingDialog.setCancelable(true);mLoadingDialog.setCanceledOnTouchOutside(false);mLoadingDialog.setContentView(view, new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT));mLoadingDialog.show();return mLoadingDialog;}/*** 关闭加载对话框*/public static void cancelDialogForLoading() {if(mLoadingDialog != null) {mLoadingDialog.cancel();}}
}
最后在Activity中调用:
package youhua.com.mytestapp;import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;/*** developer: $(wei)* date:created by 2018/9/4 17:32* email:weixiang106@163.com*/
public class MainActivity extends AppCompatActivity {private TextView btn_loading;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);btn_loading = findViewById(R.id.btn_loading);btn_loading.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {LoadingDialog.showDialogForLoading(MainActivity.this);}});}}
备注说明:图片换成美工切的幁图就行了。
Android 实现加载动画相关推荐
- Android 自定义加载动画LoadingView
前言 本文参考辉哥的博客属性动画 - 58同城数据加载动画,用来学习属性动画相关知识非常合适. 最终效果 整体思路 绘制部分分析: 整体加载动画由三部分组成: 1.上方的正方形.圆形以及三角形,需要进 ...
- android 自定义图片加载动画效果,Android自定义加载动画-感染体
Android自定义动画系列七,今天来分享第七个自定义Loading动画(InfectionBallBuilder),看上去感觉有种病毒源被感染的感觉,所以名字就叫感染体,这个动画做出来的效果,我不怎 ...
- android 自定义加载动画效果,Android自定义View实现loading动画加载效果
项目开发中对Loading的处理是比较常见的,安卓系统提供的不太美观,引入第三发又太麻烦,这时候自己定义View来实现这个效果,并且进行封装抽取给项目提供统一的loading样式是最好的解决方式了. ...
- Android Loading加载动画
1.创建一个工具类LoadingDialog public class LoadingDialog extends Dialog {private ImageView iv_ing;private A ...
- android svga加载动画,android svga使用
首先在项目的build.gradle中加入allprojects { repositories { ... maven { url 'https://jitpack.io' } } } 然后在app下 ...
- android 自定义加载动画效果,Android 自定义View修炼-自定义加载进度动画LoadingImageView...
一.概述 本自定义View,是加载进度动画的自定义View,继承于ImageView来实现,主要实现蒙层加载进度的加载进度效果. 支持水平左右加载和垂直上下加载四个方向,同时也支持自定义蒙层进度颜色. ...
- Android为网络请求自定义加载动画
android自带的加载动画都不怎么好看,在这里介绍一种自定义加载动画的方法 原始图片: 编写动画progressbar.xml, <?xml version="1.0" e ...
- android 新闻应用、Xposed模块、酷炫的加载动画、下载模块、九宫格控件等源码...
Android精选源码 灵活的ShadowView,可替代CardView使用 基于Tesseract-OCR实现自动扫描识别手机号 Android播放界面仿QQ音乐开源音乐播放器 新闻应用项目采用了 ...
- android 自定义view 动画效果,Android自定义view实现阻尼效果的加载动画
效果: 需要知识: 1. 二次贝塞尔曲线 2. 动画知识 3. 基础自定义view知识 先来解释下什么叫阻尼运动 阻尼振动是指,由于振动系统受到摩擦和介质阻力或其他能耗而使振幅随时间逐渐衰减的振动,又 ...
最新文章
- gpio引脚介绍 树莓派3b_使用微创联合M5S空气检测仪、树莓派3b+、prometheus、grafana实现空气质量持续监控告警WEB可视化...
- php自动post系统,php自动过滤POST,GET传参
- TCP/IP协议精华指南pdf发布
- pap chap认证配置
- 【今日CV 视觉论文速览】Wed, 6 Feb 2019
- DevExpress之TreeList用法
- mysql load data 一行_MySQL LOAD DATA LOCAL INFILE仅导入一行
- f-stack nginx 单进程模式启动流程分析
- 网络工程师项目管理关键路径和松弛时间计算
- 互联网券商线上开户系统设计与开发技术分享
- POJ1753题解(枚举)
- orientdb 学习
- android onCreate与onCreateView的区别
- 记一次软考高项【信息系统项目管理师】重点
- win10 Anaconda 安装 gym 模块
- 手机发不出短信 htc hero g3
- 吞吐量和TPS的区别
- C语言计算机二级/C语言期末考试 刷题(四)
- C#(同步调用、异步调用、异步回调)
- 计算机组装方案i5,极简逼格DIY装机 i5-6500/GTX1070组装电脑配置单 (全文)