安卓自定义简单loading

效果图:
安卓自定义简单loading_第1张图片 效果图


import android.annotation.SuppressLint;
import android.app.AlertDialog;
import android.content.Context;
import android.graphics.Color;
import android.os.Bundle;
import android.view.Display;
import android.view.Gravity;
import android.view.Window;
import android.view.WindowManager;
/**主要的loading对话框
*/
public class DefaultLoadingDialog extends AlertDialog {

    private int layoutId;


    public Context context;




    public DefaultLoadingDialog(Context context) {
        super(context);
        this.context = context;
    }


    @SuppressLint("ResourceType")
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        layoutId = R.layout.loading_alert;

        setContentView(layoutId);


//       ((View)bar.getParent().getParent().getParent()).setBackgroundColor(Color.LTGRAY);
        /**设置透明度*/
        Window window = getWindow();
        WindowManager.LayoutParams lp = window.getAttributes();
        lp.alpha = 1f;// 透明度
        lp.dimAmount = 0f;// 黑暗度

        //这两行,处理部分机型不对称居中的问题
        lp.width = (int) (context.getResources().getDisplayMetrics().widthPixels * 0.95); // 宽度设置为屏幕的0.95
        lp.gravity = Gravity.CENTER;//设置位置


        window.setAttributes(lp);

         window.getDecorView().setBackgroundResource(Color.TRANSPARENT);


        setCanceledOnTouchOutside(false);
        setCancelable(false);

    }


}

 

布局文件loading_alert.xml:




    

    

 

加载loainng样式:

loadingbar.xml


    
        
    


 

使用:

DefaultProgressDialog mDefaultProgressDialog;
if (mDefaultLoadingDialog == null)
    mDefaultLoadingDialog = new DefaultLoadingDialog(mContext);
mDefaultProgressDialog.show();
if (mDefaultLoadingDialog != null) {
    mDefaultLoadingDialog.dismiss();
    mDefaultLoadingDialog = null;
}

 

你可能感兴趣的:(android)