Android自定义仿ios加载弹窗
程序员文章站
2022-03-07 12:37:54
本文实例为大家分享了android自定义仿ios加载弹窗的具体代码,供大家参考,具体内容如下效果如下:iosloaddialog类(可直接复制):public class iosloaddialog...
本文实例为大家分享了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); }
好了,去试试吧!
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
上一篇: 我招谁惹谁了?