Kann ich den Text der Anmelde-Schaltfläche bei Google bearbeiten?
Ich bin zu integrieren, meine Anwendung mit google plus. Installiert ich habe google play-Dienste und unterschrieben in meinem Konto. Auch ich veröffentlichen konnte, und plus eins für, was immer ich will.
Mein problem
Kann ich nicht ändern, der text der Anmelde-Schaltfläche.
Mein code
<com.google.android.gms.common.SignInButton
android:id="@+id/share_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:text="Share on Google+" />
Was ich versucht habe?
- Erste, ich habe versucht, das hinzufügen dieser Zeile in die xml -
android:text="Share on Google+"
- Zweitens, ich habe versucht, um den text programmgesteuert, aber es hat nicht funktioniert.
Jede mögliche Hilfe würde geschätzt.
Bearbeiten
Wenn es nicht möglich ist, gibt es eine Möglichkeit, so kann ich mit demselben google-sign-in-Taste auf eine andere Taste?
InformationsquelleAutor der Frage Marco Dinatsoli | 2013-08-04
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hier ist die Technik, die ich verwendet habe:
InformationsquelleAutor der Antwort w.donahue
Hier ist der einfachste Weg, die ich verwendet habe:
InformationsquelleAutor der Antwort Sankar Behera
Problem:
Anderen Antworten erwähnt habe, dieses Problem zu umgehen. Die zugrunde liegende Implementierung kann die Schaltfläche ändern, die Ursache wäre der code zu brechen. Ich fühlte mich unwohl versuchen, die hacks. Für eine saubere Lösung, Sie würden denken, dass die Einstellung
android:text
auf diecom.google.android.gms.common.SignInButton
in Ihrer layout-Datei würde den trick tun. Doch es stellt sich heraus, dass dieses Attribut nicht verfügbar istSignInButton
.Ziel
Google Richtlinien
Aus Dokumentation, Google schlägt die Schaffung einer benutzerdefinierten Schaltfläche wie bereits erwähnt,Anpassen der Sign-In-Taste. Dann schlägt er mit der branding-Richtlinien erwähnt,Sign-In Branding-Richtlinien. Dies beinhaltet die Verwendung des bestimmten benutzerdefinierte Symbole und Bilder in den button, Einstellung spezifischer text Größe, Polster und andere do 's und don' TS für das logo.
Saubere Lösung:
Tun, als pro Google-Vorschlag beinhaltet einige eigene arbeiten. Ich war bereit, es zu tun, aber wollte etwas schaffen, wiederverwendbar, so dass andere nicht durch diese wieder gehen. Das ist, warum ich schrieb eine schnelle kleine (4KB) Bibliothek funktioniert. Fühlen Sie sich frei beizutragen es für jeden profitieren, wenn Sie Probleme feststellen.
Schritt 1: Fügen Sie den folgenden, um Ihre
app
Modul-Ebenebuild.gradle
Datei:Schritt 2: In Ihrer XML-Layout, haben Sie die folgenden:
Nutzung
android:text="{string}"
: Wie üblich, um den text auf der Schaltfläche.app:isDarkTheme="{Boolean}"
: Zum wechseln zwischen Thema blau und weiß-Thema für die Schaltfläche. Die Bibliothek kümmert sich um die änderung von text-und Hintergrundfarbe. Es behandelt auch die änderung der Farbe auf die Taste drücken-oder-Taste klickt.Quelle:
Hoffe, es hilft jemand.
InformationsquelleAutor der Antwort Shobhit Puri
android:text
wird nicht funktionieren, weil der Google-Anmelde-Schaltfläche ist einFrameLayout
aber nichtButton
.Da die Eigenschaft text ist nur dazu da für Ansichten vertreten Textform, jedoch nicht für ViewGroups, die Ihre Lösung nicht funktioniert.
Nur so kann man erreichen, ist immer die
TextView
definiert innerhalbFrameLayout
wie erläutert durch w.donahue.InformationsquelleAutor der Antwort Chandra Sekhar
Für Anfänger
Vermeidung paar Abstürze.
InformationsquelleAutor der Antwort Napolean
Ich encorage Sie nicht zu verwenden, dieser @w.donahue Leitbild, da violete einige Prinzipien open/close-Prinzip. beste apraoch es zu costum eigenen singen". Wenn Sie sehen, eine Dokumentation über Singen in der google plus button ist nur ein frameLayout mit textview. unter diesem link https://developers.google.com/+/branding-guidelines#sign-in-button haben Sie material entwerfen Sie die Taste.
Die nur ärgerliche Sache ist, dass auch google + markieren mit 9 patch-Erweiterung des png sind Sie nicht, so haben Sie zu Bearbeiten
InformationsquelleAutor der Antwort Xenione
Können Sie diese Klasse verwenden, schrieb ich auf der Grundlage der Antwort von
w.donahue
finden Sie auf dieser Seite:InformationsquelleAutor der Antwort madx