Android 自定义加载动画Dialog弹窗效果的示例代码

2020-10-06 0 910

效果图

Android 自定义加载动画Dialog弹窗效果的示例代码

Android 自定义加载动画Dialog弹窗效果的示例代码
Android 自定义加载动画Dialog弹窗效果的示例代码
Android 自定义加载动画Dialog弹窗效果的示例代码
Android 自定义加载动画Dialog弹窗效果的示例代码

首先是创建弹窗的背景

Android 自定义加载动画Dialog弹窗效果的示例代码

这是上面用到的
shape_bg_5_blue.xml为例,其他的三个无非就是里面的颜色不一样而已

<?xml version=\"1.0\" encoding=\"utf-8\"?>
<shape xmlns:android=\"http://schemas.android.com/apk/res/android\">
 <corners android:radius=\"5dp\"/>
 <solid android:color=\"#1C285B\"/>
</shape>

然后是图片

Android 自定义加载动画Dialog弹窗效果的示例代码
Android 自定义加载动画Dialog弹窗效果的示例代码
Android 自定义加载动画Dialog弹窗效果的示例代码
Android 自定义加载动画Dialog弹窗效果的示例代码
Android 自定义加载动画Dialog弹窗效果的示例代码
Android 自定义加载动画Dialog弹窗效果的示例代码

因为有一个是白色的所以你看不见,但是依然可以保存到你本地文件夹下。

然后就是创建一个弹窗的样式

Android 自定义加载动画Dialog弹窗效果的示例代码

<!-- 自定义loading dialog -->
 <style name=\"loading_dialog\" parent=\"android:style/Theme.Dialog\">
 <item name=\"android:windowFrame\">@null</item>
 <item name=\"android:windowNoTitle\">true</item>
 <item name=\"android:windowBackground\">@drawable/shape_bg_5_yellow</item>
 <item name=\"android:windowIsFloating\">true</item>
 <item name=\"android:windowContentOverlay\">@null</item>
 </style>

通过这个android:windowBackground的值改变不同的弹窗背景。
然后就是一个动画文件

Android 自定义加载动画Dialog弹窗效果的示例代码

这个文件一定要放在anim文件夹下(PS:什么?你说你没有这个文件夹?没有你就创建一个啊,我的天!)
loading_animation.xml代码如下:

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

下面就要创建一个现实内容的布局

Android 自定义加载动画Dialog弹窗效果的示例代码

布局代码如下:

<?xml version=\"1.0\" encoding=\"utf-8\"?>
<LinearLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"
 android:id=\"@+id/dialog_view\"
 android:orientation=\"vertical\"
 android:layout_width=\"120dp\"
 android:layout_height=\"120dp\"
 android:gravity=\"center\"
 android:padding=\"10dp\">

 <ImageView
 android:id=\"@+id/iv_loading\"
 android:layout_width=\"40dp\"
 android:layout_height=\"40dp\"
 android:src=\"@mipmap/icon_loading_5\" />

 <TextView
 android:id=\"@+id/tv_loading_tx\"
 android:layout_width=\"wrap_content\"
 android:layout_height=\"wrap_content\"
 android:layout_marginTop=\"10dp\"
 android:maxLines=\"1\"
 android:text=\"玩命加载中...\"
 android:textColor=\"#FFF\"
 android:textSize=\"14sp\" />
</LinearLayout>

接下来就是自定义Dialog

import android.app.Dialog;
import android.content.Context;
import android.content.DialogInterface;
import android.view.Gravity;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.widget.ImageView;
import android.widget.TextView;

/**
 * 自定义弹窗
 */
public class CustomDialog extends Dialog {

 TextView tvLoadingTx;
 ImageView ivLoading;

 public CustomDialog(Context context) {
 this(context, R.style.loading_dialog, \"玩命加载中...\");

 }

 public CustomDialog(Context context, String string) {
 this(context, R.style.loading_dialog, string);
 }

 protected CustomDialog(Context context, int theme, String string) {
 super(context, theme);
 setCanceledOnTouchOutside(true);//点击其他区域时 true 关闭弹窗 false 不关闭弹窗
 setContentView(R.layout.loading_dialog);//加载布局
 tvLoadingTx = findViewById(R.id.tv_loading_tx);
 tvLoadingTx.setText(string);
 ivLoading = findViewById(R.id.iv_loading);
 // 加载动画
 Animation hyperspaceJumpAnimation = AnimationUtils.loadAnimation(
  context, R.anim.loading_animation);
 // 使用ImageView显示动画
 ivLoading.startAnimation(hyperspaceJumpAnimation);

 getWindow().getAttributes().gravity = Gravity.CENTER;//居中显示
 getWindow().getAttributes().dimAmount = 0.5f;//背景透明度 取值范围 0 ~ 1
 }

	//关闭弹窗
 @Override
 public void dismiss() {
 super.dismiss();
 }

使用

Android 自定义加载动画Dialog弹窗效果的示例代码

这应该能看懂吧,写完收工。

总结

到此这篇关于Android 自定义加载动画Dialog弹窗效果的示例代码的文章就介绍到这了,更多相关Android 自定义加载 Dialog弹窗内容请搜索自学编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持自学编程网!

遇见资源网 Android Android 自定义加载动画Dialog弹窗效果的示例代码 http://www.ox520.com/23610.html

常见问题

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务