欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Android 提交或者上传数据时的dialog弹框动画效果

程序员文章站 2022-10-29 16:39:44
效果图如下所示: 类似这种弹框里含有动画,一般我们在上传数据或者支付的时候会用到,当然,假如我们换几张图片,还可以把它当做是加载数据的时候使用,总之这是一个dialo...

效果图如下所示:

Android 提交或者上传数据时的dialog弹框动画效果

类似这种弹框里含有动画,一般我们在上传数据或者支付的时候会用到,当然,假如我们换几张图片,还可以把它当做是加载数据的时候使用,总之这是一个dialog弹框,只不过这个弹框在弹出后,上面有动画的运行。

上代码  

首先是布局文件 :   

<relativelayout xmlns:android="http://schemas.android.com/apk/res/android"
 android:layout_height="200dp"
 android:layout_width="200dp"
 android:layout_centerinparent="true"
 android:background="@drawable/bg_custom_toast">
 <linearlayout android:layout_height="150dp"
  android:layout_width="150sp"
  android:orientation="vertical"
  android:gravity="center"
  android:layout_centerinparent="true">
  <imageview
   android:layout_width="60dp"
   android:layout_height="60dp"
   android:layout_gravity="center_horizontal"
   android:src="@mipmap/weixin_loading"/>
  <textview
   android:id="@+id/text_loading"
   android:layout_height="wrap_content"
   android:layout_width="wrap_content"
   android:layout_gravity="center_horizontal"
   android:layout_margintop="5dp"
   android:text="微信支付"/>
  <imageview
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:src="@drawable/frame2"
   android:layout_gravity="center_horizontal"/>
 </linearlayout>
</relativelayout>

其中 drawable/bg_custom_toast  是一个背景色

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
 android:shape="rectangle" >
 <solid android:color="#90000000" />
 <corners android:radius="8dip" />
</shape>

frame2  是一个承载图片的载体,在布局文件里引用

<?xml version="1.0" encoding="utf-8"?>
<animation-list xmlns:android="http://schemas.android.com/apk/res/android"
 android:oneshot="false" >
 <item
  android:drawable="@mipmap/appload1"
  android:duration="150"/>
 <item
  android:drawable="@mipmap/appload2"
  android:duration="150"/>
 <item
  android:drawable="@mipmap/appload3"
  android:duration="150"/>
 <item
  android:drawable="@mipmap/appload4"
  android:duration="150"/>
 <item
  android:drawable="@mipmap/appload5"
  android:duration="150"/>
 <item
  android:drawable="@mipmap/appload6"
  android:duration="150"/>
 <item
  android:drawable="@mipmap/appload7"
  android:duration="150"/>
 <item
  android:drawable="@mipmap/appload8"
  android:duration="150"/>
</animation-list>

然后是 dialog    

package com.example.administrator.loadxin;
import android.app.dialog;
import android.content.context;
import android.view.layoutinflater;
import android.view.view;
import android.view.viewgroup;
import android.view.windowmanager;
/**
 * created by administrator on 2017/6/21 0021.
 */
public class weixindialog {
 string message=null;
 private dialog dialog;
 private context context;
 public weixindialog(context context) {
  this.context = context;
 }
 public void show(){
  dialog = new dialog(context, r.style.mydialogstyle);
  view view = layoutinflater.from(context).inflate(r.layout.weixin_dialog,null,false);
  dialog.setcontentview(view);
  dialog.show();
  windowmanager.layoutparams lp = dialog.getwindow()
    .getattributes();
  lp.width = viewgroup.layoutparams.wrap_content;
  lp.height = viewgroup.layoutparams.wrap_content;
  dialog.getwindow().setattributes(lp);
 }
 public void dismiss(){
  if(dialog != null){
   dialog.dismiss();
  }
 }
}

最后是在mainactivity里引用这个dialog

package com.example.administrator.loadxin;
import android.support.v7.app.appcompatactivity;
import android.os.bundle;
import android.view.view;
import android.widget.button;
public class mainactivity extends appcompatactivity {
 @override
 protected void oncreate(bundle savedinstancestate) {
  super.oncreate(savedinstancestate);
  setcontentview(r.layout.activity_main);
  button btn= (button) findviewbyid(r.id.button);
  btn.setonclicklistener(new view.onclicklistener() {
   @override
   public void onclick(view v) {
    final weixindialog dialog1 = new weixindialog(mainactivity.this);
    dialog1.show();
   }
  });
 }
}

以上所述是小编给大家介绍的android 提交或者上传数据时的弹框动画效果,希望对大家有所帮助