效果图如下所示:
类似这种弹框里含有动画,一般我们在上传数据或者支付的时候会用到,当然,假如我们换几张图片,还可以把它当做是加载数据的时候使用,总之这是一个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 提交或者上传数据时的弹框动画效果,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对呐喊教程网站的支持!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:notice#nhooo.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。