1

我在 Facebook SDK 中使用 RequestDialogBu​​ilder 来构建一个向 Facebook 朋友发送一些邀请的 WebDialog。

构建器的方法之一是 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);

然后使用该上下文来构造 RequestDialogBu​​ilder,但这也不起作用。

有人有想法吗?谢谢

4

1 回答 1

0

使用常规主题,而不是 for Dialog(即,而不是android.R.style.Theme_Holo_Dialog,尝试使用android.R.style.Theme_Holo)。

当您使用其中一个xxx_Dialog主题时,窗口高度设置为wrap_content. 这就是为什么您只看到“X”按钮的原因。

于 2014-02-06T20:28:47.887 回答