这篇文章主要为大家详细介绍了Android自定义仿ios加载弹窗,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
本文实例为大家分享了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="QGRyYXdhYmxlL2ljX3N2c3RhdHVzX2xvYWRpbmc=" />
</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);
}
好了,去试试吧!
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程学习网。
沃梦达教程
本文标题为:Android自定义仿ios加载弹窗
猜你喜欢
- 详解flutter engine 那些没被释放的东西 2022-12-04
- iOS 对当前webView进行截屏的方法 2023-03-01
- 最好用的ios数据恢复软件:PhoneRescue for Mac 2023-09-14
- Android studio实现动态背景页面 2023-05-23
- 作为iOS开发,这道面试题你能答出来,说明你基础很OK! 2023-09-14
- Android MaterialButton使用实例详解(告别shape、selector) 2023-06-16
- Flutter实现底部和顶部导航栏 2022-08-31
- Android实现轮询的三种方式 2023-02-17
- Android实现监听音量的变化 2023-03-30
- SurfaceView播放视频发送弹幕并实现滚动歌词 2023-01-02
