自定义对话框 ,加载动画
来源:互联网 发布:数据挖掘导论pdf下载 编辑:程序博客网 时间:2024/05/08 07:41
自定义封装好的对话框,不仅好看, 还好用。
里面可以封装一写设置提示语的方法,到时候一个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();
0 0
- 自定义对话框 ,加载动画
- android 自定义对话框动画
- 自定义进度动画对话框
- Android自定义加载对话框
- android 实现加载动画对话框
- 自定义加载进度动画
- 自定义加载动画
- 自定义Dialog加载动画
- android自定义加载动画
- android自定义加载动画
- 自定义加载圈动画
- 自定义仿扣扣水加载动画
- android自定义加载动画
- 自定义加载动画
- 自定义对话框之动画效果
- 自定义之-加载中动画
- iOS 自定义加载等待动画
- 预加载动画(自定义)
- 99乘法表隔行变色
- Qt不规则窗体的实现
- ArrayList与LinkedList的普通for循环遍历
- IO-5
- Future 总结
- 自定义对话框 ,加载动画
- iOS 自定义UITableViewCell上添加UIButton按钮如何确定点击了哪一行,代码块实现
- 如何通过 OAuth 2.0 使 iOS Apps 集成 LinkedIn 登录功能?
- Android 系统状态参数和开机服务状态
- 非以其无私邪故能成其私
- UVA 1160——X-Plosives
- LeetCode 328 Odd Even Linked List
- HDU 4565 So Easy!(矩阵快速幂+数学)
- touch事件里面点的捕捉方法