web-dev-qa-db-fra.com

Définir le texte de connexion / déconnexion pour le bouton dans Facebook Android SDK 4.0?

Mon xml ressemble à ceci

<com.facebook.login.widget.LoginButton xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:id="@+id/fb_login_button"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_gravity="center_horizontal"
Android:paddingLeft="15dp"
Android:paddingRight="15dp"
Android:text="CONNECT WITH FACEBOOK"
Android:textColor="@color/white"
Android:textSize="20sp"
Android:textStyle="bold"
Android:background="@drawable/button_fb_login"/>

et l'arrière-plan drawble xml est

<selector xmlns:Android="http://schemas.Android.com/apk/res/Android">
<item Android:state_pressed="true">
    <shape>
        <solid Android:color="#4e69a2" />
        <stroke Android:width="3dip" Android:color="#4e69a2" />
        <padding Android:bottom="0dip" Android:left="0dip" Android:right="0dip" Android:top="0dip" />
    </shape>
</item>

<item>
    <shape>
        <solid Android:color="#3b5998" />
        <stroke Android:width="3dip" Android:color="#3b5998" />
        <padding Android:bottom="0dip" Android:left="0dip" Android:right="0dip" Android:top="0dip" />
    </shape>
</item>

Maintenant, dans Android écran de prévisualisation du studio, il s'affiche comme prévu.

enter image description here

Mais lorsque je l'exécute sur mon téléphone ou mon émulateur, il affiche "SE CONNECTER AVEC FACEBOOK" par défaut, comme ceci

enter image description here

Comment obtenir mon texte personnalisé lors de l'exécution de l'application?

21
Devanshu Dwivedi

utilisation facebook:login_text et facebook:logout_text

 <com.facebook.widget.LoginButton
            Android:id="@+id/login_button"
            Android:layout_width="wrap_content"
            Android:layout_height="wrap_content"
            Android:layout_marginTop="5dp"
            facebook:confirm_logout="false"
            facebook:fetch_user_info="true"
            Android:text="testing 123"
            facebook:login_text="LOGIN"
            facebook:logout_text="LOGOUT"
            />

Si ce qui précède ne fonctionne pas, essayez d'ajouter ce qui suit dans votre dossier de valeurs

<resources>
<string name="com_facebook_loginview_log_in_button">LOGIN</string>
<string name="com_facebook_loginview_log_out_button">LOGOUT</string>
</resources>

Mise à jour: cause possible

https://github.com/facebook/facebook-Android-sdk/blob/master/facebook/src/com/facebook/login/widget/LoginButton.Java#L599

Mise à jour 2: solution possible

Remplacez ces chaînes dans votre strings.xml

<string name="com_facebook_loginview_log_out_button">Log out</string>
<string name="com_facebook_loginview_log_in_button">Log in</string>
<string name="com_facebook_loginview_log_in_button_long">Log in with Facebook</string>

D'autres chaînes peuvent être trouvées ici

Il suffit de changer l'attribut en conséquence. Se référer à: this

par exemple:

<com.facebook.login.widget.LoginButton
        xmlns:facebook="http://schemas.Android.com/apk/res-auto"
        facebook:com_facebook_login_text="LOGIN"/>
63
Mark KWH