在招商银行android手机app中。有例如以下图所看到的的loading载入效果:

实现这个效果还是比較简单,就是自己定义dialog,设置自己想要的布局。然后设置旋转动画。

主要步骤:

1,写布局文件

2,设置dialog的主题

3,自己定义dialog继承 自Dialog

4,设置旋转动画

5。使用

第一步:编写dialog_merchantbank.xml

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

>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="10dp"
android:layout_centerInParent="true">
<RelativeLayout android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal">
<ImageView
android:id="@+id/iv_loading_bg"
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_centerInParent="true"
android:src="@drawable/loading_bg" />
<ImageView
android:id="@+id/iv_loading_roll"
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_centerInParent="true"
android:src="@drawable/loading_roll" />
</RelativeLayout>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="16sp"
android:text="登录中,请稍后..."/>
</LinearLayout>
</RelativeLayout>

第二步:编写主题样式

    <style name="common_dialog">
<item name="android:windowFrame">@null</item>
<item name="android:windowNoTitle">true</item>
<item name="android:windowBackground">@color/white</item>
<item name="android:windowIsFloating">true</item>
<item name="android:windowContentOverlay">@null</item>
</style>

第三步:自己定义MerchantBankDialog继承自Dialog

/**
* 仿招商银行loading dialog
*/
public class MerchantBankDialog extends Dialog{ private Context mContext;
private static MerchantBankDialog dialog; public MerchantBankDialog(Context context) {
super(context);
mContext = context;
} public MerchantBankDialog(Context context, int themeResId) {
super(context, themeResId);
mContext = context;
} public static MerchantBankDialog createDialog(Context context){
//1设置样式
dialog = new MerchantBankDialog(context,R.style.common_dialog);
//2设置布局
dialog.setContentView(R.layout.dialog_merchantbank);
dialog.getWindow().getAttributes().gravity = Gravity.CENTER;
dialog.setCanceledOnTouchOutside(false);
//dialog.setCancelable(false);// 不能够用“返回键”取消
return dialog;
} @Override
public void onWindowFocusChanged(boolean hasFocus) {
super.onWindowFocusChanged(hasFocus);
if(hasFocus && dialog !=null){
//3载入旋转动画
ImageView iv_loading_roll = (ImageView) dialog.findViewById(R.id.iv_loading_roll);
Animation loadingAnim = AnimationUtils.loadAnimation(
mContext, R.anim.rotate_loading);
iv_loading_roll.startAnimation(loadingAnim);
}
}
}

第四步:编写旋转动画xml文件,rotate_loading.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false" >
<rotate
android:duration="1500"
android:fromDegrees="0"
android:interpolator="@android:anim/linear_interpolator"
android:pivotX="50%"
android:pivotY="50%"
android:repeatCount="-1"
android:repeatMode="restart"
android:startOffset="-1"
android:toDegrees="+360" />
</set>

第五步:点击显示loading提示框

<span style="white-space:pre">	</span>btn_openzhaohangloading.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
MerchantBankDialog dialog = MerchantBankDialog.createDialog(MainActivity.this);
dialog.show();
}
});

至此。基本功能已实现。如有疑问欢迎留言或加群讨论:196615382,如需源代码,点击下载

。。

最新文章

  1. XP本地连接正常无法上网的解决方法
  2. text-justify实操
  3. 安装 RPM 包或者安装源码包
  4. [Effective JavaScript 笔记]第38条:在子类的构造函数中调用父类的构造函数
  5. PAT 解题报告 1048. Find Coins (25)
  6. Linux网络编程9&mdash;&mdash;对TCP与UDP的简易封装2.0
  7. 阿里云ECS(linux)磁盘满触发的mysql的表异常修复案例
  8. (10.09作业)学生选课数据库SQL语句练习题
  9. Java I/O学习(一)
  10. javascript 常用函数
  11. 跟着刚哥梳理java知识点——注释(二)
  12. jumpservice配置:快速入门
  13. MyBatis在非Spring环境下第三方DataSource设置-Druid篇
  14. Linux系统文件和目录管理
  15. 洛谷P1038神经网络题解
  16. day44前端开发1之html基础
  17. Linux系统下wetty安装和使用说明
  18. tomcat 线程模型
  19. 转---秒杀多线程第十四篇 读者写者问题继 读写锁SRWLock
  20. 如何使用JSON格式 POST数据到服务器

热门文章

  1. 9.9递归和动态规划(九)——N皇后
  2. 转:向IOS设备发送推送通知
  3. IOS 以随意点为圆心 旋转UIView
  4. CentOS 开启 IPV6
  5. 调用google翻译
  6. Android学习笔记进阶18 之画图并保存图片到本地
  7. css3的新特性选择器-------属性选择器
  8. 荣获CCF(中国计算机学会)高级会员代表资格
  9. Postman APP
  10. tomcat日志配置之一自带log