本文实例为大家分享了Android自定义仿ios加载弹窗的具体代码,供大家参考,具体内容如下
效果如下:
IosLoadDialog类(可直接复制):
public class IosLoadDialog extends Dialog { public IosLoadDialog(Context context) { super(context, R.style.loading_dialog); initView(); } @Override public boolean onKeyDown(int keyCode, KeyEvent event) { switch (keyCode){ case KeyEvent.KEYCODE_BACK: if(IosLoadDialog.this.isShowing()) IosLoadDialog.this.dismiss(); break; } return true; } private void initView(){ setContentView(R.layout.dialog_loading); Animation animation = AnimationUtils.loadAnimation(getContext(), R.anim.load_animation); animation.setInterpolator(new LinearInterpolator()); findViewById(R.id.loading_dialog_img).startAnimation(animation); setCanceledOnTouchOutside(true); WindowManager.LayoutParams attributes = getWindow().getAttributes(); attributes.alpha=0.8f; getWindow().setAttributes(attributes); setCancelable(false); } }
R.layout.dialog_loading文件:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/dialog_view" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@color/tm" android:gravity="center" android:minHeight="60dp" android:minWidth="180dp" android:orientation="vertical" android:padding="10dp"> <LinearLayout android:layout_width="80dp" android:layout_height="80dp" android:background="@drawable/white_radian13" android:gravity="center" android:orientation="vertical"> <ImageView android:id="@+id/loading_dialog_img" android:layout_width="50dp" android:layout_height="50dp" android:scaleType="fitXY" android:src="@drawable/ic_svstatus_loading" /> </LinearLayout> </LinearLayout>
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">@color/tm</item> <item name="android:windowIsFloating">true</item> <item name="android:windowContentOverlay">@null</item> </style>
white_radian13白色透明圆角背景:
<?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item> <shape> <solid android:color="#F7FBFD" /> <corners android:radius="13dp" /> </shape> </item> </layer-list>
然后奉上图片ic_svstatus_loading.png:
最后使用:
public void showDialog(){ final IosLoadDialog iosLoadDialog = new IosLoadDialog(this); iosLoadDialog.show(); new Handler().postDelayed(new Runnable() { @Override public void run() { iosLoadDialog.dismiss(); } },1200); }
好了,去试试吧!
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持自学编程网。
- 本文固定链接: https://zxbcw.cn/post/212566/
- 转载请注明:必须在正文中标注并保留原文链接
- QQ群: PHP高手阵营官方总群(344148542)
- QQ群: Yii2.0开发(304864863)