«

Android 仿微信阻塞对话框

时间:2024-3-2 18:13     作者:韩俊     分类: Android


一、前言
好久没写东西了,今天带来一个小demo,仿造微信的阻塞对话框,列一下用到的知识点:

1.自定义样式。

2.自定义shape背景和selector。

3.动画。

二、效果
废话不多说,直接看图。












三、编码与实现

1.对话框样式:

 <style name="WeixinLoadingDialog" parent="@android:Theme.Dialog">
        <item name="android:windowFrame">@null</item>
        <item name="android:windowNoTitle">true</item> 
        <item name="android:windowBackground">@android:color/transparent</item>
        <item name="android:windowIsFloating">true</item>
        <item name="android:windowContentOverlay">@null</item>
    </style>




2.对话框内部实现:
public class LoadingDialog extends Dialog {

    public LoadingDialog(Context context) {
        super(context,R.style.WeixinLoadingDialog);
        this.context = context;
        initDialog(context);
    }

    private ImageView ivProgress;
    private TextView tvInfo;
    private Context context;

    private void initDialog(Context context) {
        setContentView(R.layout.loading_dialog_view);
        ivProgress = (ImageView)findViewById(R.id.img);
        tvInfo = (TextView)findViewById(R.id.tipTextView);
        // 显示文本
        tvInfo.setText("正在加载...");
    }

    public void showDialog(){
        Animation animation = AnimationUtils.loadAnimation(context,
                R.anim.dialog_load_animation);
        // 显示动画
        ivProgress.startAnimation(animation);
        show();
    }

    public void cancelDialog(){
        ivProgress.clearAnimation();
        this.cancel();
    }

    public void setProgressText(String text){
        tvInfo.setText(text);
    }

}


源码下载

标签: android

热门推荐