web-dev-qa-db-ja.com

Android GoogleログインボタンとFacebook SDK 4+ボタンのレイアウト

google および facebook 統合を使用するアプリケーションを開発しています...これらのボタンの高さと幅を修正したい...そしてボタンテキストを手動で設定したい。 ..

私はこれまで試しました

<com.facebook.login.widget.LoginButton
       xmlns:fb="http://schemas.Android.com/apk/res-auto"
       Android:id="@+id/connectWithFbButton"  
       Android:layout_width="match_parent"
       Android:layout_height="50dp"
       Android:layout_marginLeft="10dp"
       Android:layout_marginRight="10dp"
       Android:text="@string/fbloginText"
       Android:layout_marginTop="30dp"
/>

<com.google.Android.gms.common.SignInButton
        Android:id="@+id/signin"
        Android:layout_width="match_parent"
        Android:layout_height="50dp"
        Android:text="@string/googleloginText" 
        Android:layout_marginLeft="10dp"
        Android:layout_marginRight="10dp"
        Android:layout_marginTop="20dp"/>

私はこのようなことを試みましたが

    fb:login_text="Login"
    fb:logout_text="Logout"

         or 

    facebook:login_text="Login" 

しかし、エラーが発生しました:: =>パッケージ 'com.test.b2c'の属性 'login_text'にリソース識別子が見つかりません

またはコーディングで

    loginButton = (LoginButton) findViewById(R.id.connectWithFbButton);
     loginButton.setText("Login");

今私のレイアウトはこのようなものに見えます

enter image description here

このボタンの高さと幅も設定したい.. ...事前に友達を助けて..... thx

[〜#〜]更新[〜#〜]

幅の設定に直接問題はありませんが、私が本当に心配しているのは、図に示されている一貫性のない高さです。これらのボタンの高さを等しくするためのより良い方法を見つける必要があり、それらのボタンにテキストを設定します。

enter image description here

13
Tufan

Facebookログインのカスタムテキストを変更する場合は、.

そのFacebookライブラリプロジェクトに移動し、string.xmlに移動します。

あなたはこのようなものを見つけるでしょう

  <string name="com_facebook_loginview_log_in_button_long">Log in with facebook </string>

これをカスタムテキストに置き換えます

ただし、Google Plusのカスタムテキストを変更する場合は、

From OnCreateこれを呼び出す

 setGooglePlusButtonText(signinButton,"your custom text");

// Google Plusのテキスト変更メソッド

protected void setGooglePlusButtonText(SignInButton signInButton,
    String buttonText) {
    for (int i = 0; i < signInButton.getChildCount(); i++) {
    View v = signInButton.getChildAt(i);

       if (v instanceof TextView) {
           TextView tv = (TextView) v;
           tv.setTextSize(15);
           tv.setTypeface(null, Typeface.NORMAL);
           tv.setText(buttonText);
         return;
         }
      }
}

Facebookの高さの不一致のために、私はFacebookボタンXMLにパディングを追加しました

Android:paddingTop="20dp"
Android:paddingBottom="20dp"
12
Tufan

このスタイルのxmlコードは、写真のように(テキストとボタンのサイズで)アプリのFacebookログインボタンをカスタマイズします。

<com.facebook.login.widget.LoginButton
    Android:id="@+id/login_button"
    Android:layout_width="fill_parent"
    Android:layout_height="wrap_content"
    Android:layout_marginTop="40dip"
    Android:paddingTop="10dp"
    Android:paddingBottom="10dp"
    Android:textSize="20sp"
    facebook:com_facebook_login_text="Facebook"
    facebook:com_facebook_logout_text="Facebook" />

結果: enter image description here

11
kyasar

線形レイアウトを追加し、それに2つのボタンを追加します。

<LinearLayout 
    Android:id="@+id/parentLinear" 
    Android:layout_width="match_parent" 
    Android:layout_height="match_parent"
    Android:orientation="vertical" >

<com.facebook.login.widget.LoginButton
       xmlns:fb="http://schemas.Android.com/apk/res-auto"
       Android:id="@+id/connectWithFbButton"  
       Android:layout_width="wrap_content"
       Android:layout_height="50dp"
       Android:layout_marginLeft="10dp"
       Android:layout_marginRight="10dp"
       Android:text="@string/fbloginText"
       Android:layout_marginTop="30dp" />

<com.google.Android.gms.common.SignInButton
        Android:id="@+id/signin"
        Android:layout_width="wrap_content"
        Android:layout_height="50dp"
        Android:text="@string/googleloginText" 
        Android:layout_marginLeft="10dp"
        Android:layout_marginRight="10dp"
        Android:layout_marginTop="30dp" />
</LinearLayout>

これにより、両方のボタンに正しい高さおよびマージンが表示されます

2
Kushal

変更する必要がありますAndroid:layout_widthからwrap_content、または特定のサイズ、できればdpで(例:20dp30dp40dp)。

エラーについては、strings.xmlを編集していないために表示される可能性があります。Android Studioを使用すると、これらの値が自動的に作成され、プレビューも表示されます。アプリの。

<com.facebook.login.widget.LoginButton
    xmlns:fb="http://schemas.Android.com/apk/res-auto"
    fb:com_facebook_login_text="Your Text"
0
ThalyssonVieira

あなただけを変更する必要があります

Android:layout_width="any size in dps"
Android:layout_height="any size in dps"

ボタンを手動で設定するために、特定のドキュメントに関心を持つことができます。 i、e チェックする またはこれは良い です。

0
Junaid Hafeez

Facebookウィジェットに以下を追加します。

Android:paddingTop="20dp"
Android:paddingBottom="20dp"
loginView:login_text="your custom text here"

[〜#〜]更新[〜#〜]

これも含める必要があります:

xmlns:loginView="http://schemas.Android.com/apk/res-auto"
0
neferpitou