animation-list实现android帧动画

首先在drawable下建一个anim_loading.xml,代码如下:




    
    
    
    
    

备注:ic_loading_more_1到5为美工提供切图。

在layout文件下建一个layout_dialog.xml,代码如下:




    

    

新建LoadingDialog类,实现dialog的调用:

package com.cyh.wisdombuddhism.utils;

import android.app.Activity;
import android.app.Dialog;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.LinearLayout;
import android.widget.TextView;

import com.cyh.wisdombuddhism.R;


/**
 * description:弹窗浮动加载进度条
 */
public class LoadingDialog {
    /** 加载数据对话框 */
    private static Dialog mLoadingDialog;
    /**
     * 显示加载对话框
     * @param context 上下文
     * @param msg 对话框显示内容
     * @param cancelable 对话框是否可以取消
     */
    public static Dialog showDialogForLoading(Activity context, String msg, boolean cancelable) {
        View view = LayoutInflater.from(context).inflate(R.layout.layout_dialog, null);
        TextView loadingText = (TextView)view.findViewById(R.id.tv_reminder);
        loadingText.setText(msg);

        mLoadingDialog = new Dialog(context);
        mLoadingDialog.setCancelable(cancelable);
        mLoadingDialog.setCanceledOnTouchOutside(false);
        mLoadingDialog.setContentView(view, new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT));
        mLoadingDialog.show();
        return  mLoadingDialog;
    }

    public static Dialog showDialogForLoading(Activity context) {
        View view = LayoutInflater.from(context).inflate(R.layout.layout_dialog, null);
        TextView loadingText = view.findViewById(R.id.tv_reminder);
        loadingText.setText("验证中");

        mLoadingDialog = new Dialog(context);
        mLoadingDialog.setCancelable(true);
        mLoadingDialog.setCanceledOnTouchOutside(false);
        mLoadingDialog.setContentView(view, new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT));
        mLoadingDialog.show();
        return  mLoadingDialog;
    }

    /**
     * 关闭加载对话框
     */
    public static void cancelDialogForLoading() {
        if(mLoadingDialog != null) {
            mLoadingDialog.cancel();
        }
    }
}

最后在Activity中调用:

public class MainActivity extends AppCompatActivity {
   private TextView btn_loading;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        btn_loading = findViewById(R.id.btn_loading);
        btn_loading.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                LoadingDialog.showDialogForLoading(MainActivity.this,"验证中...",false);
            }
        });

    }

}

 

你可能感兴趣的:(Android基础)