FbDialog不会在较小的设备上显示完整内容

时间:2013-05-20 10:25:03

标签: android facebook-android-sdk

重新制作的步骤

  • 使用新的FB帐户登录FB我可以看到显示我的webdialog 目前的目标和其他东西,但我看不到授权确定取消 按钮(可能向下移动)。我无法滚动查看这些按钮

任何人都可以建议我快速修复,而不必更新FB SDK

3 个答案:

答案 0 :(得分:2)

我可以确认这会影响Android中的Facebook SDK 2和3。我不能和iOS说话。出于某种原因,在其WebDialog.java代码中禁用了滚动条,因此我尝试在setUpWebView中启用滚动条。滚动条现在出现在此提示中,但“确定”和“取消”按钮不存在。因此,不是按钮在屏幕外且无法访问的情况,而是当包含当前目标部分时按钮不是内容的一部分。

看起来这是Facebook需要解决的问题。

答案 1 :(得分:1)

我刚刚将此解决方法发布到:webDialog "CURRENT GOALS" header but no button to authorize or cancel

在FaceBookSDK中,我修改了com / facebook / widget / WebDialog.java,这样一旦加载了Web对话框,它就会查找包含“当前目标”的块并将其隐藏(如果存在)。一旦你这样做,按钮再次可见(至少他们是我的)。

在com / facebook / widget / WebDialog.java中:

私有类DialogWebViewClient扩展了WebViewClient {

// ... other methods ...

@Override
public void onPageFinished(WebView view, String url) {
    super.onPageFinished(view, url);
    if (!isDetached) {
        spinner.dismiss();
    }
    /*
     * Once web view is fully loaded, set the contentFrameLayout background to be transparent
     * and make visible the 'x' image.
     */
    contentFrameLayout.setBackgroundColor(Color.TRANSPARENT);
    webView.setVisibility(View.VISIBLE);
    crossImageView.setVisibility(View.VISIBLE);

    // I don't know how to highlight in the code block
    // So I just add this extra long comment to make it obvious
    // Add a javascript call to hide that element, if it exists
    webView.loadUrl("javascript:try{ document.getElementById('nux-missions-bar').style.display='none'; } catch (e) {}");
    // End changes           
}

这应该有所帮助,至少在FaceBook修复API之前。

答案 2 :(得分:0)

我遇到了同样的问题,这个问题已经解决了。我刚刚更改了以沙箱模式运行的应用权限>我只是将其改为现场模式,突然一切都开始正常。我认为fb sdk存在问题,现在已经解决了.....