我正在创建一个自定义对话框来获取用户的输入。我注意到,当我使用AlertDialog
时,我可以使用EditText
方法将AlertDialog
等小部件添加到setView()
。我正在考虑自定义AlertDialog
,并注意到Dialog
有一个方法setContentView()
。在AlertDialog
的子类中,我可以使用setContentView()
或setView()
。
我注意到的一个区别是,当我在setView()
上使用AlertDialog
时,我可以看到正面&否定按钮。在我的AlertDialog
子类中,使用setContentView()
我没有得到正面&否定按钮。
有人可以解释其他差异吗?
感谢。
答案 0 :(得分:26)
如果我正确理解了它,setContentView
会使用您的自定义布局使整个Dialog窗口膨胀。标题,图标,按钮......没有任何遗骸。另一方面,setView
设置按钮和标题之间视图的布局。
答案 1 :(得分:2)
答案 2 :(得分:0)
顺便说一下,你也可以调用AlertDialogs的setView方法,这似乎也消除了视图周围的额外“间距”。
void setView(View view,int viewSpacingLeft,int viewSpacingTop,int viewSpacingRight,int viewSpacingBottom)
像这样。alertDialog.setView(MyView的,0,0,0,0);