Android网络加载对话框

353 阅读1分钟

LoadDialog

class LoadDialog(mContext: Context) :
    Dialog(mContext) {
    init {
        setCanceledOnTouchOutside(false)
        setContentView(R.layout.progress_leo)
        val animationDrawable = spinnerImageView.background as AnimationDrawable
        animationDrawable.isOneShot = false
        animationDrawable.start()
        window?.attributes?.dimAmount = 0.2f
        window?.setBackgroundDrawableResource(android.R.color.transparent)
    }
}

progress_leo

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    android:background="@drawable/progress_custom_bg"
    android:gravity="center_horizontal"
    android:orientation="vertical"
    android:paddingBottom="@dimen/dp_15"
    android:paddingLeft="@dimen/dp_15"
    android:paddingRight="@dimen/dp_15"
    android:paddingTop="@dimen/dp_15" >

    <ImageView
        android:id="@+id/spinnerImageView"
        android:layout_width="@dimen/dp_30"
        android:layout_height="@dimen/dp_30"
        android:scaleType="centerCrop"
        android:background="@drawable/progressbar_animation" />

    <TextView
        android:visibility="gone"
        android:id="@+id/txt_message"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="@dimen/dp_10"
        android:textSize="@dimen/sp_12"
        android:text="Message"
        android:textColor="#FFFFFF" />

</LinearLayout>

drawable/progress_custom_bg

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >

    <solid android:color="#ff404040" />

    <corners
        android:bottomLeftRadius="@dimen/dp_8"
        android:bottomRightRadius="@dimen/dp_8"
        android:topLeftRadius="@dimen/dp_8"
        android:topRightRadius="@dimen/dp_8" />

</shape>

drawable/progressbar_animation

<?xml version="1.0" encoding="utf-8"?>
<animation-list xmlns:android="http://schemas.android.com/apk/res/android"
    android:oneshot="false"
    >

    <item
        android:drawable="@mipmap/common_loading4_0"
        android:duration="60"/>
    <item
        android:drawable="@mipmap/common_loading4_1"
        android:duration="60"/>
    <item
        android:drawable="@mipmap/common_loading4_2"
        android:duration="60"/>
    <item
        android:drawable="@mipmap/common_loading4_3"
        android:duration="60"/>
    <item
        android:drawable="@mipmap/common_loading4_4"
        android:duration="60"/>
    <item
        android:drawable="@mipmap/common_loading4_5"
        android:duration="60"/>
    <item
        android:drawable="@mipmap/common_loading4_6"
        android:duration="60"/>
    <item
        android:drawable="@mipmap/common_loading4_7"
        android:duration="60"/>
    <item
        android:drawable="@mipmap/common_loading4_8"
        android:duration="60"/>
    <item
        android:drawable="@mipmap/common_loading4_9"
        android:duration="60"/>
    <item
        android:drawable="@mipmap/common_loading4_10"
        android:duration="60"/>
    <item
        android:drawable="@mipmap/common_loading4_11"
        android:duration="60"/>

</animation-list>