GetSupportActionBar(). setTitle() vs toolbar.setTitle()
Мне известно, что есть два способа установки заголовка в Android Activity
.
Предполагая, что у меня уже есть следующий код...
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.my_activity);
...
Toolbar toolbar = (Toolbar) findViewById(R.id.my_toolbar);
setSupportActionBar(toolbar);
... Я могу использовать либо это...
getSupportActionBar().setTitle("My title");
... или это...
toolbar.setTitle("My title");
... чтобы установить мой заголовок.
Мой вопрос: , что является лучшей практикой?
Ответы
Ответ 1
Если вы вызываете setSupportActionBar(Toolbar)
,
тогда панель действий отвечает за обработку заголовка, поэтому вам нужно вызвать getSupportActionBar().setTitle("My Title");
, чтобы установить пользовательский заголовок.
Также проверьте эту ссылку, где toolbar.setTitle("My title");
может вызвать проблемы, как показано ниже:
В приложении Android toolbar.setTitle не действует - имя приложения отображается как заголовок
И панель инструментов является общей формой панели действий.
Мы можем иметь несколько панелей инструментов в качестве виджета макета, но действие не выполняется.
Таким образом, лучший подход - использовать getSupportActionBar().setTitle("My Title");
Ответ 2
setSupportActionBar(toolbar);
Цель этой строки - установить переданную на панели инструментов панель действий. Таким образом, в любом случае это абсолютно приемлемо; лично, поскольку вы уже создали панель инструментов, я бы установил заголовок панели инструментов перед ее передачей с использованием вышеуказанного метода.