web-dev-qa-db-ja.com

Facebookのボタンのログイン/ログアウトテキストを設定するAndroid SDK 4.0?

私のxmlは次のようになります

<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"/>

そして、背景drawble xmlは

<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>

これで、Androidスタジオのプレビュー画面に期待どおりに表示されます。

enter image description here

しかし、携帯電話やエミュレータで実行すると、デフォルトで「FACEBOOKでログイン」と表示されます。

enter image description here

アプリケーションの実行に関するカスタムテキストを取得するにはどうすればよいですか?

21

facebook:login_textfacebook: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"
            />

上記が機能しない場合は、valuesフォルダーに以下を追加してみてください

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

更新:考えられる原因

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

アップデート2:可能な解決策

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>

他の文字列を見つけることができます here

それに応じて属性を変更するだけです。参照: this

例えば:

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