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
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.
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"
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:
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
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"
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"