时间:2021-05-21
开发中经常需要请求网络获取数据,我们在请求网络到得到数据时当中需要等待一些时间,为了增加用户体验,我们一般会用一个Dialog来提示用户我们在加载网络数据。
今天我们来实现如下效果的加载中Dialog。
从图中我们可以看到要这个Dialog是图片还有文字组成的,(不过我这里使用代码实现的,没有用图片),以下是这个加载图形的代码:
Dialog 代码:
public class LoadingDialog {LVCircularRing mLoadingView;Dialog mLoadingDialog;public LoadingDialog(Context context,String msg) { // 首先得到整个View View view = LayoutInflater.from(context).inflate( R.layout.loading_dialog_view, null); // 获取整个布局 LinearLayout layout = (LinearLayout) view.findViewById(R.id.dialog_view); // 页面中的LoadingView mLoadingView = (LVCircularRing) view.findViewById(R.id.lv_circularring); // 页面中显示文本 TextView loadingText = (TextView) view.findViewById(R.id.loading_text); // 显示文本 loadingText.setText(msg); // 创建自定义样式的Dialog mLoadingDialog = new Dialog(context, R.style.loading_dialog); // 设置返回键无效 mLoadingDialog.setCancelable(false); mLoadingDialog.setContentView(layout, new LinearLayout.LayoutParams( LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT));}public void show(){ mLoadingDialog.show(); mLoadingView.startAnim();}public void close(){ if (mLoadingDialog!=null) { mLoadingView.stopAnim(); mLoadingDialog.dismiss(); mLoadingDialog=null; }}}布局文件loading_dialog_view 代码:
<?xml version="1.0" encoding="utf-8"?><LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"android:id="@+id/dialog_view"android:layout_width="match_parent"android:layout_height="match_parent"android:gravity="center"android:background="@drawable/dialog_bg"android:padding="20dp"android:orientation="vertical"><com.ye.daqiapp.ui.widget.loading.LVCircularRing android:id="@+id/lv_circularring" android:layout_width="50dp" android:layout_height="50dp"/><TextView android:id="@+id/loading_text" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textColor="#ffffff" android:layout_marginTop="5dp" android:textSize="15sp"/></LinearLayout>Dialog中Style代码:
<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">@android:color/transparent</item> <item name="android:windowIsFloating">true</item> <item name="android:backgroundDimEnabled">false</item> <item name="android:windowContentOverlay">@null</item></style>背景dialog_bg 代码:
<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android"><!-- 内部颜色 --><solid android:color="#444444" /><!-- 圆角的幅度 --><corners android:bottomLeftRadius="3dp" android:bottomRightRadius="3dp" android:topLeftRadius="3dp" android:topRightRadius="3dp" /></shape>如何使用:在需要使用的地方初始化Dialog:
LoadingDialog dialog=new LoadingDialog(context,"玩命加载中...");//显示Dialogdialog.show();//关闭Dialogdialog.close();以上是对Android Dialog 重写的小示例,有需要的朋友可以参考下。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例为大家分享了Android自定义Dialog遮罩效果的具体代码,供大家参考,具体内容如下图例:代码1、自定义dialog:引入样式和代码指定样式pack
本文实例讲述了Android自定义个性化的Dialog。分享给大家供大家参考,具体如下:Dialog:mDialog=newDialog(this,R.styl
本文实例讲述了Android编程自定义Dialog的方法。分享给大家供大家参考,具体如下:功能:android提供给我们的只有2种Dialog即AlertDia
本文实例讲述了Android自定义dialog简单实现方法。分享给大家供大家参考,具体如下:@OverrideprotectedvoidonCreate(Bun
AndroidDialog详解及实例代码概述:Android开发中最常用的就是Dialog类,除了自定义dialog布局,最多的就是用在弹出对话框、进度条、输入