2015-05-22 9 views
9

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

Antwort

32

Verwenden

getSupportActionBar().setDisplayShowTitleEnabled(false); 
+0

So einfach ist das! Vielen Dank! – masmic

+1

Kein Problem. Stellen Sie sicher, dass Sie nach Nullpointer suchen, um die Warnung zu vermeiden :) –

+0

können Sie versuchen, als toolbar.setTitle (""); –

2

Verwenden

getSupportActionBar().setDisplayShowTitleEnabled(false);

Unter setContentView() und setSupportActionBar() Funktion.

0
getSupportActionBar.setTitle(""); 
+0

Während dieses Code-Snippet die Frage lösen kann, [hilft eine Erklärung] (http://meta.stackexchange.com/questions/114762/explaining-entirely-code-based-answers) wirklich, um die Qualität Ihres Beitrags zu verbessern. Denken Sie daran, dass Sie die Frage für Leser in der Zukunft beantworten, und diese Leute könnten die Gründe für Ihren Codevorschlag nicht kennen. –

Verwandte Themen