dialog实现遮罩层的做法

来源:互联网 发布:java 8 in action pdf 编辑:程序博客网 时间:2024/05/17 00:38

                                                   dialog实现遮罩层的做法

1. 第一点,需要在activity布局中添加一个LinearLayout  布局

例如  
    <LinearLayout
       android:id="@+id/ll_dialog_background"
       android:layout_width="match_parent"
       android:layout_height="match_parent"
       android:orientation="vertical"
       android:background="@drawable/dialog_bg"
       android:visibility="gone">
        
    </LinearLayout>

2.在调用dialog的时候显示上面这个布局

    ll_dialog_background.setVisibility(View.VISIBLE);


3.退出时的隐藏布局


//点击dialog以外的地方隐藏布局

 dialog.setOnCancelListener(new OnCancelListener(){

            @Override
            public void onCancel(DialogInterface arg0) {
                // TODO Auto-generated method stub
                ll_dialog_background.setVisibility(View.GONE);
            }
        
        });


//  点击条目以后隐藏

   dialog.dismiss();
   ll_dialog_background.setVisibility(View.GONE);

//返回键隐藏

public boolean onKeyDown(int keyCode, KeyEvent event) {
        if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) {
            ll_dialog_background.setVisibility(View.GONE);
            finish();
            return true;
        }
        return super.onKeyDown(keyCode, event);
    }




0 0
原创粉丝点击