Android Facebook SDK WebDialog setTheme方法不起作用

时间:2013-04-26 18:11:07

标签: android android-facebook

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

构建器的一个方法是setTheme,它接受一个int(res id)来改变你正在使用的主题。

默认情况下,加载对话框如下所示:

bad

我希望较新的手机使用全息主题,所以我做了以下内容:

if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB)
    builder.setTheme(android.R.style.Theme_Holo_Dialog);

足够简单。但是当加载屏幕自行纠正时:

ok...

构建的对话框看起来像这样

oops

应该是什么样子,是这样的:

whatever

我也尝试过使用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,但这也不起作用。

有人有想法吗?感谢

1 个答案:

答案 0 :(得分:0)

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

当您使用xxx_Dialog个主题之一时,窗口高度设置为wrap_content。这就是为什么你只看到'X'按钮。