效果图:
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
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