it-swarm.com.de

Android Google Login Button und Facebook sdk 4+ Button Layout

Ich entwickle eine Anwendung, die google und facebook integration verwendet ... Ich möchte die Höhe und Breite dieser Schaltfläche festlegen ... und ich möchte Button Text Manualy einstellen ...

ich hatte es bisher versucht 

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

obwohl ich so etwas schon mal gesehen hatte 

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

         or 

    facebook:login_text="Login" 

Es wurde jedoch ein Fehler gemeldet: => Für das Attribut 'login_text' im Paket 'com.test.b2c' wurde kein Ressourcenbezeichner gefunden.

oder durch Kodierung 

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

Jetzt sieht mein Layout so aus 

enter image description here

Ich möchte auch die Höhe und Breite dieser Tasten einstellen ... ...........

UPDATE

Ich habe kein direktes Problem beim Einstellen der Breite. Was mich wirklich interessiert, ist die inkonsistente Höhe, die im Bild dargestellt ist. Ich muss einen besseren Weg finden, um die Höhe der Knöpfe gleich zu machen und den Text auf den Knopf zu setzen.

enter image description here

13
Tufan

Wenn wir den benutzerdefinierten Text von Facebook Login ändern möchten ..

Gehen Sie zu diesem Facebook-Bibliotheksprojekt und gehen Sie zu string.xml

sie werden so etwas finden 

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

Ersetzen Sie dies durch Ihren benutzerdefinierten Text

Sie können zwar den benutzerdefinierten Text von Google Plus ändern 

Von OnCreate nennen Sie das

 setGooglePlusButtonText(signinButton,"your custom text");

// Textänderungsmethode von 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;
         }
      }
}

Für die Höhenunterschiede von Facebook hatte ich Facebook Button XML

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

Dieser XML-Code für den Stil passt den Facebook-Login-Button meiner App wie im Bild an (in Text- und Button-Größe).

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

Ergebnis:enter image description here

11
kyasar

Fügen Sie ein lineares Layout hinzu und fügen Sie diese 2 Schaltflächen hinzu:

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

Dadurch erhalten Sie für beide Tasten die Option Height , Width und Margin

2
Kushal

Sie müssen Android:layout_width entweder in wrap_content oder in eine bestimmte Größe ändern, vorzugsweise in dp (z. B. 20dp, 30dp, 40dp).

Der Fehler wird wahrscheinlich angezeigt, weil Sie die Datei "strings.xml" nicht bearbeitet haben. Versuchen Sie es mit Android Studio. Diese Werte werden automatisch für Sie erstellt und Sie erhalten eine Vorschau Ihrer App.

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

Sie müssen nur das ändern 

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

und für die manuelle Einstellung der Schaltflächen können Sie sich auf die spezifischen Dokumente beziehen. i, e check it oder das ist ein gutes Beispiel

0
Junaid Hafeez

Fügen Sie in Ihrem Facebook-Widget Folgendes hinzu:

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

UPDATE

Sie müssen auch Folgendes hinzufügen:

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