如何从Facebook登录SDK中删除ProgressBar

时间:2019-01-24 08:00:54

标签: android progress-bar android-progressbar facebook-sdk-4.0

通过使用android实现Facebook登录,我需要将令牌发送到我的后端服务器,所以我想知道是否可以删除进度栏并创建自己的进度,在获取Facebook令牌并将其发送给我后进行处理服务器。当我打电话时出现:

LoginManager.getInstance().logInWithReadPermissions(Login.this,Arrays.asList("email"));

2 个答案:

答案 0 :(得分:1)

您可以像这样删除Facebook登录ProgressBar:

values/styles.xml中添加以下样式:

<style name="Translucent" parent="Translucent.Base"/>

<style name="InvisibleProgress">
    <item name="android:visibility">gone</item>
</style>

<style name="Translucent.Base" parent="android:Theme.Translucent.NoTitleBar">
    <item name="android:progressBarStyle">@style/InvisibleProgress</item>
</style>

values-v21/styles.xml中添加以下样式:

<style name="Translucent" parent="Translucent.Base">
    <item name="windowActionBar">false</item>
    <item name="windowNoTitle">true</item>
    <item name="android:windowDrawsSystemBarBackgrounds">true</item>
    <item name="android:statusBarColor">@android:color/transparent</item>
</style>

然后,在您的AndroidManifest.xml中覆盖FacebookActivity的主题:

<manifest
  ...
  xmlns:tools="http://schemas.android.com/tools"
>

...

<activity
    android:name="com.facebook.FacebookActivity"
    android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation"
    android:label="@string/app_name"
    android:theme="@style/Translucent"
    tools:replace="android:theme"
/>

现在您将不会看到Facebook进度栏,并且可以绘制自己的:)

答案 1 :(得分:0)

在清单com.facebook.FacebookActivity中

更改主题,如下所示

android:theme =“ @ android:style / Theme.NoDisplay”

代替

android:theme =“ @ android:style / Theme.Translucent.NoTitleBar”