android 加载等待Dialog

来源:互联网 发布:如何自己注册域名 编辑:程序博客网 时间:2024/05/16 10:28

1、创建自定义的弹出框控件

public class UIHelper {



public  Dialog mLoadDialog;
private  int count;


public void showLoadDialog(Context context) {
showLoadDialog(context, null);
}


public void showLoadDialog(Context context, String msg) {
if (context == null) {
return;
}
if (context.isRestricted())
if (mLoadDialog != null && mLoadDialog.isShowing())
return;
count++;
if (count > 1) {
count = 0;
return;
}

View login_dialog = View.inflate(context, R.layout.load_doag, null);
mLoadDialog = new Dialog(context, R.style.dialog_with_alpha);
mLoadDialog.setCanceledOnTouchOutside(false);
if (!TextUtils.isEmpty(msg)) {
TextView messageTV = (TextView) login_dialog
.findViewById(R.id.login_doag_name);
messageTV.setText(msg);
}
mLoadDialog.setContentView(login_dialog);
try {
mLoadDialog.show();
} catch (Exception e) {
e.printStackTrace();
}
}


public void cloesLoadDialog() {
try {
if (mLoadDialog != null && mLoadDialog.isShowing()) {
mLoadDialog.dismiss();
count = 0;
mLoadDialog = null;
}
} catch (Exception e) {
}
}

}

2、创建自定义布局文件

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#00000000" >


    <RelativeLayout
        android:layout_width="120dp"
        android:layout_height="120dp"
        android:layout_centerInParent="true"
        android:background="@drawable/loading_bg" >


        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:gravity="center"
            android:orientation="vertical" >


            <ProgressBar
                android:id="@+id/progressBar1"
                style="@style/loading_large"
                android:layout_gravity="center_horizontal" />


            <TextView
                android:id="@+id/login_doag_name"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="10dp"
                android:text="正在加载……"
                android:textColor="#fff" />
        </LinearLayout>
    </RelativeLayout>


</RelativeLayout>

3、创建半透明的弹出框背景样式

<!-- 弹出框样式 -->
    <style name="dialog_with_alpha" parent="android:Theme.Dialog">
        <item name="android:windowFrame">@null</item>
        <!-- 边框 -->
        <item name="android:windowIsFloating">true</item>
        <!-- 是否浮现在activity之上 -->
        <item name="android:windowIsTranslucent">false</item>
        <!-- 半透明 -->
        <item name="android:windowNoTitle">true</item>
        <!-- 无标题 -->


        <item name="android:windowBackground">@android:color/transparent</item>
        <!-- 背景透明 -->
        <!-- <item name="android:backgroundDimEnabled">false</item> -->
        <!-- 模糊 -->
    </style>


4、使用方式

UIHelper uiHelper = new UIHelper();

if(msg.equals("")){
uiHelper.showLoadDialog(mActivity, mActivity.getString(R.string.loading));
}else{
uiHelper.showLoadDialog(mActivity, msg);
}
备注:个人备忘录!

0 0
原创粉丝点击