美文网首页
Loading对话框

Loading对话框

作者: Wang_Mr | 来源:发表于2018-06-07 17:00 被阅读0次
自定义加载对话框效果
loading.jpg
  • 可以利用系统的ProgressBar自定义图片实现loading的圆环
    其中修改属性indeterminateDrawable即可更改为我们想要的效果
    注意:如果引用的是一张图片的话是不会旋转的,需要引用anim文件
    <ProgressBar
        android:id="@+id/pb"
        android:layout_width="34dp"
        android:layout_height="34dp"
        android:layout_centerHorizontal="true"
        android:layout_gravity="center"
        android:indeterminateDrawable="@drawable/progress" />
<animated-rotate xmlns:android="http://schemas.android.com/apk/res/android"
    android:drawable="@drawable/ic_loading"
    android:pivotX="50%"
    android:pivotY="50%"/>
  • 自定义dialong
public class WaitDialog {

    private AlertDialog dialog;

    public WaitDialog(Context context) {
        dialog = new AlertDialog.Builder(context, R.style.AlertDialogStyle).create();
        dialog.setCancelable(false);
    }

    public void show() {
        dialog.show();
        dialog.setContentView(R.layout.waiting_dialog);
    }

    public void dismiss() {
        if (dialog != null && dialog.isShowing())
            dialog.dismiss();
    }
}

Dialog的style

<?xml version="1.0" encoding="utf-8"?>
<resources>

    <!--windowBackground是显示内容区域的窗口的背景色,不是整个屏幕的背景色-->
    <!--透明灰色的覆盖层 backgroundDimEnabled = true / false无覆盖层-->
    <style name="AlertDialogStyle" parent="@android:style/Theme.Dialog">
        <item name="android:windowBackground">@android:color/transparent</item>
        <item name="android:windowContentOverlay">@null</item>
        <item name="android:windowIsFloating">true</item>
        <item name="android:windowFrame">@null</item>
        <item name="android:backgroundDimEnabled">false</item>
        <item name="android:windowNoTitle">true</item>
        <item name="android:windowIsTranslucent">true</item>
    </style>
</resources>

相关文章