Android 之加载圈

开发过程中经常用到加载圈,特别是车机开发由于外设不同很多操作响应的等待时长经常要用到不同的加载圈。

首先,直接上菊花效果图,这是我直接从项目里面截取下来的。


核心代码

-------------------------

import android.app.Dialog;import android.content.Context;import android.view.Gravity;import android.view.LayoutInflater;import android.view.View;import android.view.Window;import android.view.WindowManager;import android.view.animation.Animation;import android.view.animation.AnimationUtils;import android.widget.ImageView;import android.widget.RelativeLayout;import android.widget.TextView;public class CircularLoading {/*** 显示Dialog* @param context 上下文对象* @param msg 提示内容* @param isCancelable 是否可以点击取消* @return*/public static Dialog showLoadDialog(Context context, String msg, boolean isCancelable) {LayoutInflater inflater = LayoutInflater.from(context);View v = inflater.inflate(R.layout.circular_loading, null);RelativeLayout layout = (RelativeLayout) v.findViewById(R.id.dialog_bg);// main.xml中的ImageViewImageView loadImage = (ImageView) v.findViewById(R.id.load_iv);TextView pointTextView = (TextView) v.findViewById(R.id.point_tv);// 加载动画Animation hyperspaceJumpAnimation = AnimationUtils.loadAnimation(context, R.anim.rotating_animation);// 使用ImageView显示动画loadImage.startAnimation(hyperspaceJumpAnimation);pointTextView.setText(msg);Dialog loadingDialog = new Dialog(context, R.style.TransDialogStyle);loadingDialog.setContentView(layout);loadingDialog.setCancelable(isCancelable);loadingDialog.setCanceledOnTouchOutside(false);Window window = loadingDialog.getWindow();WindowManager.LayoutParams lp = window.getAttributes();lp.width = WindowManager.LayoutParams.WRAP_CONTENT;lp.height = WindowManager.LayoutParams.WRAP_CONTENT;window.setGravity(Gravity.CENTER);window.setAttributes(lp);window.setWindowAnimations(R.style.PopWindowAnimStyle);loadingDialog.show();return loadingDialog;}/*** 关闭dialog*/public static void closeDialog(Dialog mCircularLoading) {if (mCircularLoading != null && mCircularLoading.isShowing()) {mCircularLoading.dismiss();}}}

布局文件

--------------------

circular_loading.xml 

<?xml version="1.0" encoding="utf-8"?>        


动画

---------------------

rotating_animation.xml

<?xml version="1.0" encoding="utf-8"?>    

dialog_show.xml

<?xml version="1.0" encoding="utf-8"?>    

dialog_hide.xml

<?xml version="1.0" encoding="utf-8"?>

Style

---------------------------

                        



使用方法

------------------

//显示mCircularLoading = CircularLoading.showLoadDialog(Dvr_Activity_Main.this, "加载中...", true);//关闭CircularLoading.closeDialog(mCircularLoading);


更多相关文章

  1. Android 使用三方库android-gif-drawable 加载Gif图片
  2. android上下文
  3. Android使用WebView加载网页及数据
  4. Android第三方开源NiftyNotification(Android Toast替代品):动画效
  5. android手机开机动画相关代码解析
  6. Android固件加载出错(load failed with error -2)
  7. 【Android高级】DexClassloader和PathClassloader动态加载插件的
  8. Android切换Activity时的淡入动画和缩小动画

随机推荐

  1. 十七、Android学习笔记_Android 使用 搜
  2. Android   Intent 的几种启动活动的方式
  3. Button代码小写,运行时大写
  4. Android 4.0.3 源码编译中添加外部jar包
  5. Android Jetpack-ViewModel
  6. Android 按钮点击两次触发不同的事件
  7. java\tomcat\android\mysql 环境变量
  8. Android中fitsSystemWindows属性的用法总
  9. Android-->获取所有联系人以及所有的字段
  10. Android(安卓)MVC框架模式的理解