Das Problem oben nur erwähnt tritt in Lollipop-Versionen und nicht in Kitkat und niedrigeren Versionen. Lollipop folgt nicht dem Textstil und setzt seinen eigenen TitleTextAppearance
. So fügen Sie sogar Ihr eigenes TextView
Kind für Ihre Toolbar
hinzu (unten gezeigt), die android.support.v7.widget.Toolbar
überschreibt noch Ihre Arten.
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:theme="@style/someToolbarStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:id="@+id/title"
style="@style/someTitleStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</android.support.v7.widget.Toolbar>
Um dies endlich zu lösen, Ihre eigene TextView
für den Titel setzen und die setTitle
Methoden der Toolbar
überschreiben die Lollipop vordefinierten TitleTextAppearance
zu überspringen.
public class YourCustomToolbar extends Toolbar {
public YourCustomToolbar (Context context) {
super(context);
}
public YourCustomToolbar (Context context, AttributeSet attrs) {
super(context, attrs);
}
public YourCustomToolbar (Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
}
@Override
public void setTitle(CharSequence title) {
((TextView) findViewById(R.id.title)).setText(title);
}
@Override
public void setTitle(int title) {
((TextView) findViewById(R.id.title)).setText(title);
}
}
Kühl. Sollte es möglich sein, dies zu stylen, ohne eine benutzerdefinierte Ansicht hinzufügen zu müssen, meinst du nicht? – Kenneth
Verwenden Sie Android Studio? Keine Warnungen erhalten? "Element TextView ist hier nicht erlaubt" –
@JaredBurrows Ich benutze ADT, und ich habe diese Warnung nicht bekommen .. –