Ich fange an, eine neue App zu entwickeln, und ich triying, um es einen materiellen Design-Look zu geben. Dafür benutze ich die Kompatibilität mit der v7-Unterstützung.App-Titel auf support.v7.widget.toolbar verstecken
In einigen Aktivitäten der App brauche ich die Symbolleiste, um den App-Titel nicht anzuzeigen, ich weiß nicht wie, aber es wird standardmäßig angezeigt. In diesen Aktivitäten habe ich eine Textansicht auf der rechten Seite der Symbolleiste, die wie eine Schaltfläche fungiert, und wo ich Trace RippleEffect implementiert habe.
Also, im Grunde ist meine Frage, wie kann ich den Titel der App aus der Symbolleiste ausblenden? Denn selbst wenn ich tun:
toolbar.setTitle("");
oder
toolbar.setTitle(null);
es weiter erscheinen.
Dies ist mein Code:
xml Benutzerdefinierte Symbolleiste [toolbar_intro.xml]:
<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:local="http://schemas.android.com/apk/res-auto"
xmlns:ripple="http://schemas.android.com/apk/res-auto"
xmlns:app="http://schemas.android.com/tools"
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="?attr/actionBarSize"
android:background="?attr/colorPrimary"
android:elevation="4dp"
local:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
local:popupTheme="@style/ThemeOverlay.AppCompat.Light">
<com.andexert.library.RippleView
android:id="@+id/more"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_gravity="right"
android:layout_marginRight="40dp"
ripple:rv_centered="false"
app:rv_rippleDuration="1">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/toolbar_text"
android:textColor="@color/White"
android:textStyle="bold"
android:textSize="25sp"
android:text="Next"/>
</com.andexert.library.RippleView>
</android.support.v7.widget.Toolbar>
Dies ist, wie ich die Toolbar im Layout enthalten:
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<include
android:id="@+id/toolbar"
layout="@layout/toolbar_intro" />
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<ImageView
...
</RelativeLayout>
</LinearLayout>
und das ist die Aktivität:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.intro_wellcome);
toolbar= (Toolbar) findViewById(R.id.toolbar);
if (toolbar != null) {
setSupportActionBar(toolbar);
toolbar.setTitle("");
}
TextView toolbar_text = (TextView) toolbar.findViewById(R.id.toolbar_text);
toolbar_text.setText(R.string.next);
...
}
Auch das ist der Stil, den ich umgesetzt haben:
<style name="MaterialTheme.Base" parent="Theme.AppCompat.Light.NoActionBar">
So einfach ist das! Vielen Dank! – masmic
Kein Problem. Stellen Sie sicher, dass Sie nach Nullpointer suchen, um die Warnung zu vermeiden :) –
können Sie versuchen, als toolbar.setTitle (""); –