自定义封装好的对话框,不仅好看, 还好用。
里面可以封装一写设置提示语的方法,到时候一个app用一套统一的对话框是很好的。
1、首先继承自dialog

package com.example.myslefdialog;import android.app.Dialog;
import android.content.Context;
import android.graphics.drawable.AnimationDrawable;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.WindowManager.LayoutParams;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;/*** @author gaobingbing* */
public class LoadingDialog extends Dialog {private View layout;private ImageView iv_load;private AnimationDrawable adShaking;public LoadingDialog(Context context) {super(context, R.style.TranslucentDialog);LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);layout = inflater.inflate(R.layout.loading_dialog, null);setContentView(layout);// 设置window属性LayoutParams attributes = getWindow().getAttributes();attributes.gravity = Gravity.CENTER;getWindow().setAttributes(attributes);iv_load=(ImageView)layout.findViewById(R.id.iv_loading_dialog);adShaking=(AnimationDrawable)iv_load.getDrawable();adShaking.start();}/*** 加载提示语* * @param message*            提示语*/public void setMessage(String message) {TextView loadingMessage = (TextView) layout.findViewById(R.id.loading_message);loadingMessage.setText(message);}/*** 显示生活小提示* * @param lifeTipContent*            生活小提示内容*/public void showLifeTips(String lifeTipContent) {if (lifeTipContent != null && lifeTipContent.length() > 0) {LinearLayout lifeTipLayout = (LinearLayout) layout.findViewById(R.id.life_tip_layout);lifeTipLayout.setVisibility(View.VISIBLE);TextView tipContent = (TextView) layout.findViewById(R.id.life_tip_content);tipContent.setText(lifeTipContent);}}
}

2.它的布局文件

loading_dialog.xml<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="fill_parent"android:layout_height="fill_parent"android:gravity="center"android:orientation="vertical" ><ImageView
        android:id="@+id/iv_loading_dialog"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center_horizontal"android:src="@anim/load_amin"android:scaleType="fitCenter" /><ImageView
        android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center_horizontal"android:src="@drawable/load_circle" /><TextView
        android:id="@+id/loading_message"android:layout_width="300dp"android:layout_height="wrap_content"android:gravity="center"android:padding="10dip"android:text="拼命加载中..."android:textColor="#FFFFFF" /><LinearLayout
        android:id="@+id/life_tip_layout"android:layout_width="match_parent"android:layout_height="wrap_content"android:background="@drawable/life_tip_bg"android:gravity="center_vertical"android:visibility="gone" ><TextView
            android:id="@+id/life_tip_content"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginLeft="95dp"android:layout_marginRight="6dp"android:textColor="#FFFFFF"android:textSize="15sp" /></LinearLayout></LinearLayout>

3.自定义的对话框的背景设置为透明

 <style name="TranslucentDialog" parent="android:style/Theme.Dialog"><item name="android:background">#00000000</item><item name="android:windowBackground">@android:color/transparent</item></style>

4.要使用的动画

load_amin.xml<?xml version="1.0" encoding="utf-8"?>
<!--根标签为animation-list,其中oneshot代表着是否只展示一遍,设置为false会不停的循环播放动画  根标签下,通过item标签对动画中的每一个图片进行声明  android:duration 表示展示所用的该图片的时间长度
-->
<animation-list xmlns:android="http://schemas.android.com/apk/res/android"android:oneshot="false" ><item
        android:drawable="@drawable/load_gril1"android:duration="100"></item><item
        android:drawable="@drawable/load_gril2"android:duration="100"></item><item
        android:drawable="@drawable/load_gril3"android:duration="100"></item><item
        android:drawable="@drawable/load_gril4"android:duration="100"></item><item
        android:drawable="@drawable/load_gril5"android:duration="100"></item><item
        android:drawable="@drawable/load_gril6"android:duration="100"></item></animation-list>

5.使用

LoadingDialog loadingDialog=new LoadingDialog(this);loadingDialog.showLifeTips("我好爱你!");loadingDialog.show();

自定义对话框 ,加载动画相关推荐

  1. android 海浪动画,android自定义波浪加载动画的实现代码

    本文实例为大家分享了android自定义波浪加载动画的具体代码,供大家参考,具体内容如下 效果图 1.自定义控件 WaveView package com.example.wh.myapplicati ...

  2. Android 自定义进度加载动画

    偶尔浏览一个android开发网站,发现进度加载动画比较不错,觉得挺有意思 就自己参考了下自己做了一个进度加载动画 效果图如下: 首选来看自定义动画 package com.itzb.paintdem ...

  3. android 自定义图片加载动画效果,Android自定义加载动画-感染体

    Android自定义动画系列七,今天来分享第七个自定义Loading动画(InfectionBallBuilder),看上去感觉有种病毒源被感染的感觉,所以名字就叫感染体,这个动画做出来的效果,我不怎 ...

  4. vue element-ui Loading加载事件的使用以及自定义Loading加载动画

    elemen-ui官方使用 <el-tablev-loading="loading"element-loading-text="拼命加载中"element ...

  5. 微信小程序自定义loading加载动画(2)

    1.实现效果 2.实现原理 animation 3.实现代码 <view class="loading-row"><view class="loadin ...

  6. 使用MJRefresh自定义下拉刷新,上拉加载动画

    有时候我们需要自己设置下拉刷新,上拉加载动画的实现,这里主要是记录下使用MJRefresh自定义下拉刷新,上拉加载动画..... 下拉刷新我们只需要继承MJRefreshGifHeader即可: 实现 ...

  7. Android为网络请求自定义加载动画

    android自带的加载动画都不怎么好看,在这里介绍一种自定义加载动画的方法 原始图片: 编写动画progressbar.xml, <?xml version="1.0" e ...

  8. 记一次小程序自定义导航栏及加载动画的解决方案

    记一次小程序自定义导航栏及加载动画的解决方案 主要逻辑就是动态获取设备的 statusBarHeight 和 titleBarHeight,来设置导航栏的高度和 paddingTop ip6 ipx ...

  9. android 自定义view 动画效果,Android自定义view实现阻尼效果的加载动画

    效果: 需要知识: 1. 二次贝塞尔曲线 2. 动画知识 3. 基础自定义view知识 先来解释下什么叫阻尼运动 阻尼振动是指,由于振动系统受到摩擦和介质阻力或其他能耗而使振幅随时间逐渐衰减的振动,又 ...

  10. HTML5+CSS3小实例:自定义滤镜实现液体加载动画

    HTML5+CSS3搭配自定义滤镜做一个液体环形小球加载动画,七个小球绕环形旋转,设置有规律的动画延迟时间,使它们有序依次旋转,过程伴随溶球效果,这真是一个百看不腻的loading加载动画. 效果: ...

最新文章

  1. 欧洲AI规范先行,值得肯定与借鉴 --- 我看欧盟发布AI道德规范
  2. tRNAscan-SE 预测tRNA基因
  3. GDataXML的一些简单示例。
  4. 执行umount 的时候却提示:device is busy 的处理方法
  5. RocketMQ:Consumer概述及启动流程与消息拉取源码分析
  6. wps出现安装installer_判断本机是否安装Microsoft Office或者wps
  7. 软件过程改进之百科名片
  8. 08.存储Cinder→5.场景学习→08.Backup Volume→2.实操
  9. 基于php的微信公众号开发,基于ThinkPHP框架快速构建微信公众号开发框架
  10. vue组件库和组件文档生成
  11. Linux 0.11-shell 程序读取你的命令-43
  12. Latex公式编号: 多行公式多编号,多行公式单编号
  13. 实验吧安全杂项WP(一)
  14. android下前端开发诡异bug记录解决方法
  15. MyBatis从入门到精通(1):MyBatis入门
  16. 【转载】DayDayUp:2020,再见了,不平凡的一年,让我懂得了珍惜,让我明白了越努力越幸运
  17. C#与西门子plc,实现自复位按钮控制
  18. 车辆座椅五自由度车辆模型Simulink仿真研究
  19. 存储异构,Elasticsearch如何充分利用存储空间
  20. 让MCU低功耗的五点

热门文章

  1. java从尾到头打印链表数据_Java编程实现从尾到头打印链表代码实例
  2. java 集合快速排序_搞定Java快速排序
  3. 对指针变量取地址_C语言指针简介(amp;和*运算符)
  4. springmvc框架介绍_Java修行第071天 ---SpringMVC(上)
  5. matlab光滑曲线连接散点图
  6. 成长的速度一定要超过父母老去的速度
  7. 蓄力十年,做一个成就
  8. android 生成签名命令
  9. Android菜单详解(一)——理解android中的Menu
  10. ActiveMQ学习笔记(二) JMS与Spring