2016-08-05 34 views
0

I Titel eines toolbar in der Mitte zeigen wollen, so verwende ich benutzerdefinierte textview Titel wie diese zu zeigen:Toolbar Titel nicht in Mitte zeigt richtig, wenn Zurück-Taste aktiviert ist

 <android.support.v7.widget.Toolbar 
     android:id="@+id/toolbar" 
     android:layout_width="match_parent" 
     android:layout_height="?attr/actionBarSize" 
     android:background="@color/colorPrimary" 
     app:popupTheme="@style/AppTheme.PopupOverlay"> 

     <TextView 
      android:id="@+id/toolbar_title" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:gravity="center" 
      android:text="Title" 
      android:textColor="@android:color/white" 
      android:textSize="25sp" 
      android:textStyle="bold" /> 
    </android.support.v7.widget.Toolbar> 

Java-Code:

Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); 
    TextView title = (TextView) toolbar.findViewById(R.id.toolbar_title); 
    setSupportActionBar(toolbar); 
    getSupportActionBar().setDisplayHomeAsUpEnabled(true); 
    getSupportActionBar().setDisplayShowHomeEnabled(true); 
    title.setText("Title"); 
    toolbar.setNavigationOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 
      onBackPressed(); 
     } 
    }); 

Ergebnis:

enter image description here

Titeltext wird nicht richtig in der Mitte angezeigt, wenn ich den Zurück-Button der Werkzeugleiste aktiviere.

und die Dinge funktionieren gut, wenn Zurück-Button Symbolleiste nicht heißt

wenn

getSupportActionBar().setDisplayHomeAsUpEnabled(false); 
getSupportActionBar().setDisplayShowHomeEnabled(false); 

Ergebnis aktiviert ist:

enter image description here

Jetzt will ich Titel in der Mitte zeigen mit Zurück-Taste auch von der Symbolleiste aktiviert. Wie macht man das ? Jede Hilfe

+0

Set _android: layout_gravity = „center“ _ für Textview – Piyush

+0

@PiyushGupta nicht funktioniert, noch –

+0

Dann legte Textview in Linearlayout das gleiche Ergebnis zu erzielen und zu – Piyush

Antwort

3

1) Sie benötigen diese

title.setText("Title"); 

weil bereits in XML-Datei zu entfernen.

2) Verwenden

getSupportActionBar().setDisplayShowTitleEnabled(false); 

3) Setzen Layout Schwerkraft für TextView

android:layout_gravity="center" 

Edit:

Auch Höhenänderung und der Breite der zu TextViewwrap_content.

+0

danke für deine antwort, aber es funktioniert nicht –

+0

Es wird nicht passieren.Ich habe damit getan und funktioniert gut in meinem Fall.Set Textansicht Höhe und Breite _wrap_c Ontent_. Jetzt sollte es funktionieren! @KapilRajput – Piyush

+0

Danke Mann seine Arbeit durch Ändern der Höhe und Breite zu wrap_content. danke nochmal –