關於去除Dialog的黑色背景框

2021-09-06 13:06:40 字數 1276 閱讀 6928

dialog有兩種形式的,乙個是dialog及其子類,還有一種是activity的dialog顯示方式。

不管怎樣,在自定義dialog的時候,如果不做一些處理,都會出現黑色背景邊框,這個問題動不動就出來困擾我一下,於是打算總結下。

一、dialog及其子類

自定義的話,有幾種不同形式: 1>.alertdialog.builder的setview方法。

123

4567

if

(mdialog

==null

)mdialog

.setview

(mview,0

,0,0

,0);// 主要是這樣話,邊界為0,所以就沒有黑色邊框啦

mdialog

.show

();

2>.dialog對應的window(父類視窗)的setcontentview方式

123

4567

mdialog

=new

alertdialog

.builder

(mcontext

).create

();mdialog

.show

();mdialog

.setcancelable

(mcancelable

);window

=mdialog

.getwindow

();try

{window

.setcontentview(r

.layout

.mydialog

);//因為用的直接是容器window,那麼直接setcontentview也不會有預設的黑色邊框背景

二、activity的dialog顯示形式

123

4

settheme(r

.style

.theme_dialog

);//dialog形式

getwindow

().setcontentview

(main

);//除掉黑色背景框

getwindow

().setbackgrounddrawableresource

(android.r

.color

.transparent

);//清除背景,這樣就沒有黑邊框了

android開啟dialog黑色背景

當你style設定了背景透明 要改變dialog的布局位置時,要用 layoutparam 時,最好用 window.getattibutes 獲取 layoutparams 假如自己new 的話,可能會出現背景黑屏的現象,因為我們的 diaolog 設定了style 必須要通過 dialog 得到...

背景透明的 Dialog

一 控制dialog 的背景方法 1.定義乙個無背景主題主題 2.建立dialog dialog new dialog this,r.style.dialog dialog.setcontentview r.layout.dialog loading or dialog new dialog thi...

Android背景透明的 Dialog

一 控制dialog 的背景方法 1.定義乙個無背景主題主題 複製 2.建立dialog dialog new dialog this,r.style.dialog dialog.setcontentview r.layout.dialog loading 複製 or dialog new dial...