2016-08-05 1 views
0

Я хочу, чтобы показать звание toolbar в центре, так я с помощью пользовательских textview, чтобы показать название, как это:название панели инструментов не отображается в центре должным образом, если кнопка Назад включена

 <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 код:

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(); 
     } 
    }); 

Результат:

enter image description here

Текст заголовка не отображается в центре, если я включаю кнопку возврата на панели инструментов.

и все работает нормально, если назад кнопка панели инструментов не включена т.е.

если

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

Результат:

enter image description here

Теперь я хочу показать заголовок в центре с кнопкой «Назад» включена панель инструментов. Как это сделать? Любая помощь

+0

Набор _android: layout_gravity = «центр» _ для TextView – Piyush

+0

@PiyushGupta не работает, по-прежнему получать тот же результат –

+0

Затем положить TextView в LinearLayout и установить гравитацию и макет гравитацию для LinearLayout слишком – Piyush

ответ

3

1) Вы должны удалить этот

title.setText("Title"); 

, потому что уже в XML-файле.

2) Использование

getSupportActionBar().setDisplayShowTitleEnabled(false); 

3) Установить макет тяжести для TextView

android:layout_gravity="center" 

Edit:

изменение также высоту и ширину TextView к wrap_content.

+0

спасибо за ваш ответ, но он не работает –

+0

Это не произойдет. Я сделал это и отлично работал в моем случае. Установите высоту и ширину текста в _wrap_c ontent_. Теперь это должна быть работа! @KapilRajput – Piyush

+0

Спасибо, человек работает, меняя высоту и ширину на wrap_content. Еще раз спасибо –

Смежные вопросы