我在Facebook SDK中使用RequestDialogBuilder来构建一个WebDialog,它会向Facebook好友发送一些邀请。
构建器的一个方法是setTheme,它接受一个int(res id)来改变你正在使用的主题。
默认情况下,加载对话框如下所示:
我希望较新的手机使用全息主题,所以我做了以下内容:
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB)
builder.setTheme(android.R.style.Theme_Holo_Dialog);
足够简单。但是当加载屏幕自行纠正时:
构建的对话框看起来像这样
应该是什么样子,是这样的:
我也尝试过使用ContextThemeWrapper:
Context context = this;
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB)
context = new ContextThemeWrapper(this, android.R.style.Theme_Holo_Dialog);
然后使用该上下文构造RequestDialogBuilder,但这也不起作用。
有人有想法吗?感谢
答案 0 :(得分:0)
使用常规主题,而不是Dialog
的主题(即代替android.R.style.Theme_Holo_Dialog
,请尝试使用android.R.style.Theme_Holo
)。
当您使用xxx_Dialog
个主题之一时,窗口高度设置为wrap_content
。这就是为什么你只看到'X'按钮。