關(guān)于解決Dialog彈出四周出現(xiàn)margin

今天在做一個(gè)需求的時(shí)候,需要用dialog彈出底部菜單欄,具體樣式就像這樣

這是效果圖

結(jié)果我做出來的效果,雖然我覺得也很好看


這是我做出來的效果

因?yàn)榇_實(shí)好久沒用過dialog了,忘了很多,找了很多方法,都不行,什么setpadding(0,0,0,0).都沒什么用.

后來看到無知的blog才知道什么地方出了問題,真是服了我自己了.


這是之前的代碼

builder=newAlertDialog.Builder(activity).create();//得到構(gòu)造器

Window dialogWindow =builder.getWindow();

builder.getWindow().clearFlags(//解決自定義dialog不能彈出鍵盤

? ? ? ? WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM);

這是修正后的代碼


builder=newAlertDialog.Builder(activity,R.style.AppTheme).create();//得到構(gòu)造器

Window dialogWindow =builder.getWindow();

builder.getWindow().clearFlags(//解決自定義dialog不能彈出鍵盤

WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM);

能看出來有什么區(qū)別么O(∩_∩)O~

沒錯(cuò),就是多加了個(gè)R.style.AppTheme.

但是這樣還是不行的,接下來公布完整代碼哈哈哈哈

private voidshowAlertDialog() {

builder=newAlertDialog.Builder(activity,R.style.AppTheme).create();//得到構(gòu)造器

Window dialogWindow =builder.getWindow();

builder.getWindow().clearFlags(//解決自定義dialog不能彈出鍵盤

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM);

builder.show();

dialogWindow.setContentView(R.layout.dialog_collect_more);

LayoutInflater mInflater = LayoutInflater.from(activity);

View view = mInflater.inflate(R.layout.dialog_collect_more,null);

dialogWindow.setContentView(view);

dialogWindow.setGravity(Gravity.BOTTOM);//顯示在頂部

dialogWindow.setWindowAnimations(R.style.dialogstyle);//給dialog添加動(dòng)畫

//獲得window窗口的屬性

android.view.WindowManager.LayoutParams lp = dialogWindow.getAttributes();

//設(shè)置窗口寬度為充滿全屏

lp.width= WindowManager.LayoutParams.MATCH_PARENT;

//設(shè)置窗口高度為包裹內(nèi)容

lp.height= WindowManager.LayoutParams.WRAP_CONTENT;

lp.flags= WindowManager.LayoutParams.FLAG_DIM_BEHIND;//就是這個(gè)屬性導(dǎo)致window后所有的東西都成暗淡

lp.dimAmount=0.5f;//設(shè)置對(duì)話框的透明程度背景(非布局的透明度)

//將設(shè)置好的屬性set回去

dialogWindow.setAttributes(lp);

//將自定義布局加載到dialog上

}

很簡(jiǎn)單吧,哈哈.

為了照顧初學(xué)者,我把涉及到的參數(shù)全都寫出來


這個(gè)是動(dòng)畫的style(實(shí)在是不知道為什么復(fù)制不上來)



這個(gè)是彈出的效果


這個(gè)是關(guān)閉的效果


第一次寫文章,有什么不好的大家多多說明,謝謝

對(duì)了把給我啟發(fā)的blog貼出來

這個(gè)就是無知博客的那篇文章


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容