栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

安卓加载中对话框

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

安卓加载中对话框

通用代码内容:

1、在res-values-styles文件中,添加样式:

2、 在res-drawable文件夹下创建文件 shape_rectangle_whitesolid_10dpcorners.xml。




    

    

俩种样式各自代码:

样式一:

样式一

Java类代码:

public class LoadingDataDialog1 extends Dialog {

    private final String TAG = "LoadingDataDialog";

    private TextView tvOne;

    private TextView tvTwo;

    private TextView tvThree;

    public LoadingDataDialog1(@NonNull Context context) {
        super(context, R.style.MyDialog);
    }

    private boolean isAnimate = false;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.dialog_loading1);

        setCanceledOnTouchOutside(false);

        tvOne = findViewById(R.id.tv_dialog_loading_one);

        tvTwo = findViewById(R.id.tv_dialog_loading_two);

        tvThree = findViewById(R.id.tv_dialog_loading_three);

        startAnimate(tvOne);
        startAnimate(tvTwo);
        startAnimate(tvThree);

    }

    private void startAnimate(final View view) {
        isAnimate = true;
        final TranslateAnimation animateStart = new TranslateAnimation(
                0,                 // fromXDelta
                0,                 // toXDelta
                -20,  // fromYDelta
                20);                // toYDelta
        animateStart.setDuration(500);
        animateStart.setFillAfter(true);

        final TranslateAnimation animateEnd = new TranslateAnimation(
                0,                 // fromXDelta
                0,                 // toXDelta
                20,                 // fromYDelta
                -20); // toYDelta
        animateEnd.setDuration(500);
        animateEnd.setFillAfter(true);

        animateStart.setAnimationListener(new Animation.AnimationListener() {
            @Override
            public void onAnimationStart(Animation animation) {
                Log.e(TAG, "走到了 动画 开始");
            }

            @Override
            public void onAnimationEnd(Animation animation) {
                Log.e(TAG, "走到了 动画 结束");
                if (isAnimate) {
                    view.startAnimation(animateEnd);
                } else {
                    animateEnd.reset();
                }
            }

            @Override
            public void onAnimationRepeat(Animation animation) {

            }
        });

        animateEnd.setAnimationListener(new Animation.AnimationListener() {
            @Override
            public void onAnimationStart(Animation animation) {

            }

            @Override
            public void onAnimationEnd(Animation animation) {
                if (isAnimate) {
                    view.startAnimation(animateStart);
                } else {
                    animateStart.reset();
                }
            }

            @Override
            public void onAnimationRepeat(Animation animation) {

            }
        });
        view.startAnimation(animateStart);

    }

    @Override
    public void dismiss() {
        isAnimate = false;

        clearAnimate(tvOne);
        clearAnimate(tvTwo);
        clearAnimate(tvThree);

        super.dismiss();
    }

    private void clearAnimate(TextView textView) {
        Animation animation = textView.getAnimation();
        animation.cancel();
    }
}

布局文件代码 dialog_loading1.xml:




    

        

        

        

    

 

样式二:

样式二

public class LoadingDataDialog2 extends Dialog {

    public LoadingDataDialog2(@NonNull Context context) {
        super(context, R.style.MyDialog);
    }

    private String title = "请求中";

    public void setTitle(String title) {
        this.title = title;
    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.dialog_loading);
        TextView textView = findViewById(R.id.tv_dialog_loading_data);
        textView.setText(title);
        setCanceledOnTouchOutside(false);
    }
}

布局文件dialog_loading.xml:




    

        

        

    

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1021025.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号