效果图:

package utils;import android.app.Dialog;import android.content.Context;import android.view.Gravity;import android.view.LayoutInflater;import android.view.View;import android.view.Window;import android.view.WindowManager;import android.widget.LinearLayout;import android.widget.TextView;import com.example.water.R;public class loadDialogUtils {    public static Dialog createLoadingDialog(Context context, String msg) {        LayoutInflater inflater = LayoutInflater.from(context);        View v = inflater.inflate(R.layout.dialog_loading1, null);// 得到加载view        LinearLayout layout = (LinearLayout) v                .findViewById(R.id.dialog_loading_view);// 加载布局        TextView tipTextView = (TextView) v.findViewById(R.id.tipTextView);// 提示文字        tipTextView.setText(msg);// 设置加载信息        Dialog loadingDialog = new Dialog(context, R.style.MyDialogStyle);// 创建自定义样式dialog        loadingDialog.setCancelable(true); // 是否可以按“返回键”消失        loadingDialog.setCanceledOnTouchOutside(false); // 点击加载框以外的区域        loadingDialog.setContentView(layout, new LinearLayout.LayoutParams(                LinearLayout.LayoutParams.MATCH_PARENT,                LinearLayout.LayoutParams.MATCH_PARENT));// 设置布局        /**         *将显示Dialog的方法封装在这里面         */        Window window = loadingDialog.getWindow();        WindowManager.LayoutParams lp = window.getAttributes();        lp.width = WindowManager.LayoutParams.MATCH_PARENT;        lp.height = WindowManager.LayoutParams.WRAP_CONTENT;        window.setGravity(Gravity.CENTER);        window.setAttributes(lp);        window.setWindowAnimations(R.style.PopWindowAnimStyle);        loadingDialog.show();        return loadingDialog;    }    /**     * 关闭dialog     *     * http://blog.csdn.net/qq_21376985     *     * @param mDialogUtils     */    public static void closeDialog(Dialog mDialogUtils) {        if (mDialogUtils != null && mDialogUtils.isShowing()) {            mDialogUtils.dismiss();        }    }}
dialog_loading1.xml
<?xml version="1.0" encoding="utf-8"?>                        

styles.xml

            

使用方法:

public class MainActivity extends AppCompatActivity {    private Dialog mDialog;    private Button btn_show_weibo_loading;      private Handler mHandler = new Handler() {        @Override        public void handleMessage(Message msg) {            super.handleMessage(msg);            switch (msg.what) {                case 1:                                 loadDialogUtils.closeDialog(mDialog);                    break;            }        }    };    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        btn_show_loading = (Button) findViewById(R.id.btn_show_weibo_loading);        btn_show_loading.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                mDialog = loadDialogUtils.createLoadingDialog(MainActivity.this, "加载中...");                mHandler.sendEmptyMessageDelayed(1, 3000);            }        });            }}

资源下载地址:https://download.csdn.net/download/chaoyu168/11217063

更多相关文章

  1. Android加载大量文字时关键字变色
  2. Android练习之BitmapFactory.decodeFile加载SD卡文件
  3. 将网页嵌入到android应用中
  4. android——ObjectAnimator动画(一)
  5. SplashscreenActivity随笔
  6. Android之handle异步加载图片
  7. Android中属性动画2----ObjectAnimator监听的使用
  8. android TextView加载html内容并加载图片
  9. APIDemo动画合集

随机推荐

  1. 并行是什么意思?与并发的区别是什么?
  2. Executors如何创建线程池?
  3. 什么是线程?什么是进程?为什么要有线程?有什
  4. Java 中锁之间的对比
  5. Java 中线程池包含哪些状态?
  6. 首申百度联盟、Google Adsense,均败
  7. synchronized 锁的升级原理是什么?
  8. 博客网站显示框相对浏览器固定位置显示
  9. 如何创建、启动 Java 线程?
  10. 什么是死锁?