我正在使用这种方法在不使用 fb 按钮的情况下执行 Facebook 登录 Facebook authentication without login button
它工作正常,但在 fb 登录期间显示一个黑色背景的进度条,我猜来自 Activity com.facebook.LoginActivity
如何避免显示该 Activity ?,我只想在登录 com.facebook.LoginActivity 期间显示我自己的应用 Activity 进度
最佳答案
我在使用 facebook sdk 4.x 时遇到了同样的问题。当我单击 facebook 登录按钮时,Facebook Activity 显示为半透明,但它显示了一个进度条。幸运的是,我们可以在主题中禁用此进度条。所以 Facebook Activity 被声明为
<activity
android:name="com.facebook.FacebookActivity"
android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation"
android:label="@string/app_name"
android:theme="@android:style/Theme.Translucent.NoTitleBar" />
我们所要做的就是创建一个继承自 Theme.Translucent.NoTitleBar
的样式并 Conceal 进度条:
<style name="FullyTranslucent" parent="android:Theme.Translucent.NoTitleBar">
<item name="android:progressBarStyle">@style/InvisibleProgress</item>
</style>
<style name="InvisibleProgress">
<item name="android:visibility">gone</item>
</style>
现在将 Activity 的主题设置为我们的新主题:
<activity
android:name="com.facebook.FacebookActivity"
android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation"
android:label="@string/app_name"
android:theme="@style/FullyTranslucent" />
瞧!登录前的进度条消失了。
关于Android:如何在 Facebook 登录中 Conceal 进度圈,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29357310/