Android FbDialog不';无法在较小的设备上显示完整内容

Android FbDialog不';无法在较小的设备上显示完整内容,android,facebook-android-sdk,Android,Facebook Android Sdk,重编的步骤 使用新的FB帐户登录FB,我可以看到显示我的webdialog 目前的目标和其他东西,但我不能看到授权确定取消 按钮(可能向下移动)。我无法滚动查看那些按钮 有谁能建议我快速修复,而不必更新FB SDK我可以确认这会影响Android中的Facebook SDK 2和3。我不能和iOS说话。由于某些原因,滚动条在WebDialog.java代码中被禁用,因此我尝试在setUpWebView中启用滚动条。滚动条现在显示在此提示中,但“确定”和“取消”按钮不存在。因此,这并不是说按钮

重编的步骤

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

有谁能建议我快速修复,而不必更新FB SDK

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


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

我也面临着同样的问题。我刚刚更改了在沙盒模式下运行的应用程序权限>我刚刚将其更改为实时模式,突然一切都开始正常工作。我认为fb sdk有一个问题,现在已经解决了

我刚刚将此解决方案发布到:

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

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

私有类对话框WebViewClient扩展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之前,这应该会有所帮助。

进一步挖掘,当前目标和取消/确定按钮都在页面源代码中。Javascript应该隐藏当前目标并显示按钮,但SDK用于WebDialog的Android webview中没有正确执行。如果在其源代码中禁用JavascriptWebDialog代码,内容加载,你可以看到当前的目标和按钮……OK按钮可以工作。但很明显,我不能让它这样运行,然后发布我的应用程序。他们需要调整他们发送的javascript。谢谢你的评论,我看到OK/Cancel按钮有一瞬间,它们是向下移动的,我想,我可以在更大的设备上设置OK/Cancel按钮,因此我不认为这是内容问题。我认为这取决于Android版本和/或其底层webkit版本。或者它可能会根据视口大小触发不同的javascript,如果它认为当前目标和按钮可以同时匹配?我不确定,但我有一些设备ces,这是无法正常工作的,还有一些是可以正常工作的。不管怎样,Facebook SDK 2和3都受到了影响,我在我的应用程序端没有做任何更改。这个Stackoverflow中有3个版本的问题,它们都是从5月18日起发布的。Facebook端发生了一些变化。只是打电话确认这个问题也发生了影响使用v3.5.1 Facebook SDK在iOS 5.x和6.x上授予Facebook应用程序权限(不使用iOS 6.0系统范围登录)。您在哪里更改了此模式?我在developer.facebook.com中更改了此模式。我们在那里创建应用程序以获取facebook api密钥。有一个选项可以将您的应用程序保持在沙盒模式或实时模式……我希望这也能帮到您。@Piezotron尝试使用其他帐户登录并检查一次。我是使用新创建的帐户登录的,该帐户是给我制造了一个问题。所以试试其他fb帐户。Shri你解决了这个问题吗?@NaveenKumar不,我还在等待fb提供一些有价值的信息。好的,如果你找到了一些解决方案,请发布你的代码。这很有效!非常感谢,但我认为你必须编辑一点帖子,你必须用视图替换webview。这似乎是一个错误我现在没有答案。