Dialog自定义布局

因为有很多时候需要弹出一个Dialog,但系统自带的Dialog太丑了,于是写一个自定义Dialog布局的模板。

layout布局




    

        

            

            

布局稍微改改就能做成点击右上取消的样子。在标签里、外边加上一个控件,设置android:layout_gravity="top|right"

FrameLayout的背景



    
    
        
    
    
    


Dialog的样式



    

创建Dialog

int mWindowWidth, mWindowHeight;
Dialog dialog = new Dialog(this, R.style.simpleDialogStyle);
View view = LayoutInflater.from(this).inflate(R.layout.simple_dialog, null);
DisplayMetrics displayMetrics = this.getResources().getDisplayMetrics();
mWindowWidth = displayMetrics.widthPixels;
mWindowHeight = displayMetrics.heightPixels;
dialog.setContentView(view, new MarginLayoutParams(mWindowWidth,
        MarginLayoutParams.MATCH_PARENT));
dialog.show();

宽度设置为手机屏幕的宽度,高度为控件高度之和,因为没有父layout,所以没有需要自定义View,重写onDraw()方法,才能使用MarginLayoutParams.MATCH_PARENT属性

你可能感兴趣的:(Dialog自定义布局)