Ändern Sie die Schriftart der unverankerten Beschriftung EditText und TextInputLayout
Jemand versucht, die schriftart ändern, die der floating-label? Ich habe die Quelle des EditText aber die schriftart der floating-label hat sich nicht geändert, ich bin sehr dankbar, wer mir helfen
Code:
<android.support.design.widget.TextInputLayout
android:id="@+id/tilTextoDescricao"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_toRightOf="@id/tilValorUnidade"
android:layout_marginTop="10dp">
<EditText
android:id="@+id/etTextoDescricao"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="5dp"
android:hint="Descrição"
android:textSize="15dp"
android:inputType="text" />
</android.support.design.widget.TextInputLayout>
-----------------
etTextoDescricao= (EditText) findViewById(R.id.etTextoDescricao);
etTextoDescricao.setTypeface(CustomTypeface.getTypefaceMediumDefault(this));
InformationsquelleAutor der Frage user2350939 | 2015-06-10
Du musst angemeldet sein, um einen Kommentar abzugeben.
Als der
Design Library v23
die Sie verwenden können,TextInputLayout#setTypeface()
.Damit wird die schriftart auf beide erweitert und schwimmenden Hinweis.
Hier ist die feature request wo es diskutiert wurde auf b.android.com.
EDIT: Die Fehler anzeigen schriftart wurde nicht eingestellt, aber nun behoben in
v25.1.0
.InformationsquelleAutor der Antwort Austyn Mahoney
Leider haben Sie zur reflektion verwenden, um diese zu bewältigen.
Den schwimmenden label ist gezeichnet von
CollapsingTextHelper
ist, das eine innere, Paket-private-Klasse und ist nicht setup zum Griff erstreckt. Also, mit so etwas wie eine benutzerdefinierteTypefaceSpan
funktioniert nicht in diesem Fall.Weil diese Reflexion verwendet, ist es nicht garantiert, um zu arbeiten in der Zukunft.
Umsetzung
Fehler anzeigen
Wenn Sie benötigt, um zu ändern den schriftart, den Fehler, Sie könnte eines von zwei Dingen tun:
TextView
und anwenden derTypeface
viel wie vorTextInputLayout
ist nur einTextView
so ist es in der Lage zu handhaben, umfasst.Mit der spiegelung
Über eine benutzerdefinierte span
Ergebnisse
Die schriftart, die ich verwende, ist Smoothie-Shop.
InformationsquelleAutor der Antwort adneal
Hier ist eine benutzerdefinierte Klasse Umsetzung für adneal Antwort.
In Ihrer XML-Dateien, die Sie verwenden müssen
CustomTextInputLayout
stattTextInputLayout
und es wird funktionieren out of the box.Dank adneal für die Antwort.
InformationsquelleAutor der Antwort Aleksandar Ilic
fand ich eine einfache Lösung, und es ist für mich gearbeitet:
auf diese Weise können Sie die schriftart, die Andeutung einer text Bearbeiten:
in layout.xml :
sowie in der java-Klasse :
InformationsquelleAutor der Antwort Iman Sadrian
beheben eines Problems in @adneal Antwort:
wenn setErrorEnabled nicht festgelegt ist wahr, mErrorView wäre null und wenn man es falsch an keiner Stelle der Schrift ändern würde, wieder auf default.
also um es zu beheben:
in Sie benutzerdefinierte TextInputLayout überschreiben setErrorEnabled
InformationsquelleAutor der Antwort Ashkan Ghodrat
InformationsquelleAutor der Antwort Ali
Dies ist, wie ich dies erreichen
InformationsquelleAutor der Antwort zohaib khaliq
Es ist ein einfacher Weg,
Erstellen Sie ein neues Verzeichnis, das sich im 'res' Ordner 'font' und setzen Sie ein font drin ist. Dann öffnen Sie Ihre "Stile" - Datei, und erstellen Sie einen neuen Stil :
Können Sie weitere Eigenschaften wie Textfarbe, Textgröße, usw..
Dann in Ihre XML:
Ich es gecheckt und es funktioniert.
InformationsquelleAutor der Antwort Danish Ajaib