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 提交或者上传数据时的弹框动画效果,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!

(0)

相关推荐

  • 浅析Android Dialog中setContentView()方法

    概述 Dialog在Android中是一个很优秀的工具.在使用Dialog时,我们一般都会自定义要显示的内容布局.Dialog自带了三个方法来支持自定义内容布局. public void setContentView (int layoutResID); public void setContentView (View view); public void setContentView (View view, ViewGroup.LayoutParams params); 这三个方法内部的实现原

  • Android开发之基于DialogFragment创建对话框的方法示例

    本文实例讲述了Android基于DialogFragment创建对话框的方法.分享给大家供大家参考,具体如下: /** * 使用DialogFragment创建对话框 * @description: * @author ldm * @date 2016-5-12 下午2:00:01 */ public class FragmentAlertDialog extends Activity { private Button button; @Override protected void onCre

  • Android通过自定义Activity实现悬浮的Dialog详解

    前言 其实实现悬浮的自定义窗体有很多方法,自定义Dialog,自定义layout 均可以实现.自定义activity也是可以的,今天我就介绍一下activity的实现方法.下面来看看详细的介绍: 效果图 如图可以看出,当前的窗体,第一眼其实和dialog没有什么区别,但是它是自定义activity实现.如何实现的呢? 代码如下: 新建activity @Override protected void onCreate(Bundle savedInstanceState) { super.onCr

  • Android自定义对话框Dialog的简单实现

    本文着重研究了自定义对话框,通过一下步骤即可清晰的理解原理,通过更改界面设置和style类型,可以应用在各种各样适合自己的App中. 首先来看一下效果图: 首先是activity的界面 点击了上述图片的按钮后,弹出对话框: 点击对话框的确定按钮: 点击对话框的取消按钮: 下面来说一下具体实现步骤: 第一步:设置Dialog的样式(一般项目都可以直接拿来用):style.xml中 <!--自定义Dialog背景全透明无边框theme--> <style name="MyDialo

  • Android编程实现activity dialog透明背景的方法

    本文实例讲述了Android编程实现activity dialog透明背景的方法.分享给大家供大家参考,具体如下: 首先查一下window  activity的关系 具体省略.... 我的理解就是 每个activity都有一个window 也就是view的最顶层容器 activity是提供给用户交互的一组View容器(window的child) 层次关系是 <window> <activity> </activity> </window> 所以说如果需要设置

  • Android 开发之Dialog中隐藏键盘的正确使用方法

    Android 开发之Dialog中隐藏键盘的正确使用方法 场景:弹出一个Dialog,里面有一个EditText,用来输入内容,因为输入时,需要弹出键盘,所以当Dialog消失时,键盘要一起隐藏. 现在我们做一个自定义的Dialog MyDialog extends Dialog 一开始认为这个功能很容易实现,于是写了下面的代码 //Dialog的构造函数中写 this.setOnDismissListener(new OnDismissListener() { @Override publi

  • Android ProgressDialog的实例详解

    Android ProgressDialog的实例详解 当自己做一些耗时操作时,希望给用户一些提示信息,告诉用户正在进行耗时操作,这时就可以用到ProgressDialog. 1.新建一个全局变量ProgressDialog private ProgressDialog mDialog; 2.设置ProgressDialog的相关参数: progressDialog = new ProgressDialog( ProgressDialogActivity.this); //设置进度条风格,风格为

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

    效果图如下所示: 类似这种弹框里含有动画,一般我们在上传数据或者支付的时候会用到,当然,假如我们换几张图片,还可以把它当做是加载数据的时候使用,总之这是一个dialog弹框,只不过这个弹框在弹出后,上面有动画的运行. 上代码 首先是布局文件 : <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_height="200dp" andr

  • Android 大文件上传时处理上传进度问题小结

    进行大文件上传时,显示上传进度是很好的用户体验,可以有效的缓解用户急躁的情绪.今天Android IT 分享一个好的显示上传进度的解决方案. 我们用到以下两个类就可实现带进度条的文件上传: 1.CustomMultiPartEntity extends MultipartEntity, 2.HttpMultipartPost extends AsyncTask import java.io.FilterOutputStream; import java.io.IOException; impor

  • Android将图片上传到php服务器的实例代码

    layout中很普通,就是两个button和一个ImageView <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height=&q

  • Django 解决上传文件时,request.FILES为空的问题

    用html的form上传文件时,request.FILES为空,没有收到上传来的文件,但是在request.POST里找到了上传的文件名(只是一个字符串). 解决方法: 为form表单规定enctype属性,其值为"multipart/form-data". enctype 属性规定在发送到服务器之前应该如何对表单数据进行编码. 值 描述 application/x-www-form-urlencoded 在发送前编码所有字符(默认) multipart/form-data 不对字符编

  • Android实现聊天记录上传本地服务器(即时通讯)

    即时通讯功能,使用SDK里封装的方法,获取聊天记录,接口请求成功,但获取不到数据.使用本地的服务器保存聊天记录,实现方法如下: 1. ChatFragment.java中请求聊天记录: public class ChatFragment extends EaseChatFragment implements EaseChatFragmentHelper { @Override protected void setUpView() { setChatFragmentHelper(this); St

  • php实现批量上传数据到数据库(.csv格式)的案例

    友情提示:上传数据的文档需要转化为.csv格式的文档 前端代码: <form name="importForm" action="import.php" method="POST" enctype="multipart/form-data"> <input type="hidden" value="import_goods" name="file"&

  • Android图片压缩上传之基础篇

    在android程序开发中我们经常见到需要上传图片的场景,在这里有个技术点,需要把图片压缩处理,然后再进行上传.这样可以减少流量的消耗,提高图片的上传速度等问题. 关于android如何压缩,网上的资料也是很多,但大多数都是代码片段,讲解压缩步骤,而没有一个实用的工具类库.那么如何将压缩算法封装成一个实用工具库呢?其中会遇到些什么问题,比如: 1.需要压缩的图片有多少 2.压缩后的图片是覆盖还是保存到另外的目录 3.如果是另存目录需要将原始图片删除吗 4.如果改变压缩后的图片的尺寸大小是按照原图

  • Android 通过httppost上传文本文件到服务器的实例代码

    废话不多说了,直接给大家贴关键代码了. /** * 往服务器上上传文本 比如log日志 * @param urlstr 请求的url * @param uploadFile log日志的路径 * /mnt/shell/emulated/0/LOG/LOG.log * @param newName log日志的名字 LOG.log * @return */ public static void httpPost(Activity activity,String urlstr,String uplo

  • 微信多图上传解决android多图上传失败问题

    微信提供了文件上传的方法wx.uploadFile来上传我们的图片 wx.chooseImage({ success: function(res) { var tempFilePaths = res.tempFilePaths wx.uploadFile({ url: 'http://example.weixin.qq.com/upload', //仅为示例,非真实的接口地址 filePath: tempFilePaths[0], name: 'file', formData:{ 'user':

  • android 使用OkHttp上传多张图片的实现代码

    简述 还是先来说说为啥用OkHttp作为多图片上传的框架,原因有两点: 1.OkHttp可以作为Volley底层传输协议,速度更快 2.使用Xutils和KJFramework上传图片存在一个小问题,首先,可以上传,并且可以上传多张图片,也可以上传其他的参数,那问题在哪里呢?在后台接受参数时很不灵活,Xutlis及KJFramework使用HashMap来上传每个参数,每一张图片也必须有一个唯一的key,上传一张图片就要定义一个参数来接收,上传两张图片就要定义两个参数来接收,当上传的图片数量不确

随机推荐