创建一个透明的加载动画Dialog

定义style

<style name="LoadProgress" parent="@android:style/Theme.Dialog">
        <item name="android:windowFrame">@null</item>
        <item name="android:windowContentOverlay">@null</item>
        <item name="android:windowIsFloating">true</item>
        <item name="android:windowIsTranslucent">true</item>
        <item name="android:windowNoTitle">true</item>
        <item name="android:backgroundDimEnabled">true</item>
        <item name="android:background">#00000000</item>
        <item name="android:windowBackground">@android:color/transparent</item>
        <!--<item name="android:windowAnimationStyle">@style/ActionSheetAnimation</item>  -->
    </style>

创建Dialog

Dialog  protocolDialog = new Dialog(context, R.style.LoadProgress);
        LayoutInflater inflater = (LayoutInflater) context
                .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        LinearLayout layout = (LinearLayout) inflater.inflate(
                R.layout.dialog_loadprogress, null);
        protocolDialog.setCanceledOnTouchOutside(false);

        protocolDialog.setContentView(layout);
        protocolDialog.setOnKeyListener(new DialogInterface.OnKeyListener() {
            @Override
            public boolean onKey(DialogInterface dialog, int keyCode, KeyEvent event) {
                if (keyCode == KeyEvent.KEYCODE_SEARCH) {
                    return true;
                } else {
                    return true; //默认返回 false,这里false不能屏蔽返回键,改成true就可以了
                }
            }

        });

布局文件dialog_loadprogress,

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_gravity="center"
        android:orientation="vertical"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:gravity="center" >
        <ProgressBar
        android:background="@android:color/transparent"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:indeterminate="false"
       />
</LinearLayout>

调用

 public void show() {
        if (protocolDialog != null && !protocolDialog.isShowing() && context != null && !context.isFinishing()) {
            protocolDialog.show();
        }
    }

    public void close() {
        if (protocolDialog != null) {
            if (protocolDialog.isShowing()) {
                protocolDialog.dismiss();
            }
        }
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一直都想写写关于安全感的话题,我虽没有文采,但平时多少能挤出时间来阅读,阅读各类喜欢的书籍和文献选段,所以看...
    文人全靠眼光阅读 165评论 0 0
  • 好久不写日记了,自从初一发现我妈翻我的日记本,就再没有写过日记了,到现在高三,也不知怎么开始想写些什么了。可能空间...
    m影影影影阅读 118评论 0 0
  • 这一日陆子衿休息,没有去上班一个人待在家里,陆朝平和郭素芳都不在家,正好没人烦她,安静的一个人待着看看电脑查查资料...
    钮石补呆祈祷阅读 371评论 0 0
  • 今夜 捧一掬清冷的月色 和风 独饮 是谁 立于荒野 守候在你的方向 夜未央 兀自成霜
    子期初心阅读 470评论 13 27
  • 第一天 思维导图是用图表表现的发散性思维。发散性思维的过程也就是大脑思考和产生想法的过程。通过捕捉和表达发散性思维...
    Antonio李星辰阅读 2,688评论 0 5