Как изменить текст на панели действий - PullRequest
222 голосов
/ 09 августа 2010

В настоящее время оно просто отображает название приложения, и я хочу, чтобы оно отображало что-то свое и отличалось для каждого экрана в моем приложении.

Например: мой домашний экран может показывать «page1» на панели действий, в то время как другое действие, на которое переключается приложение, может иметь «page2» на этой панели действий экранов.

Ответы [ 14 ]

1 голос
/ 01 февраля 2017

Лучший способ изменить имя панели действий - перейти на AndroidManifest.xml и ввести этот код.

<activity android:name=".YourActivity"
        android:label="NameYouWantToDisplay> </activity>
1 голос
/ 03 июня 2016
ActionBar ab = getActionBar();
TextView tv = new TextView(getApplicationContext());

LayoutParams lp = new RelativeLayout.LayoutParams(
        LayoutParams.MATCH_PARENT, // Width of TextView
        LayoutParams.WRAP_CONTENT);
tv.setLayoutParams(lp);
tv.setTextColor(Color.RED);
ab.setCustomView(tv);

Для получения дополнительной информации проверьте эту ссылку:

http://android - code.blogspot.in/2015/09/android-how-to-change-actionbar-title_21.html

0 голосов
/ 26 апреля 2019

Для будущих разработчиков, использующих AndroidX и навигационный архитектурный компонент .

Вместо установки заголовка панели инструментов с помощью одного из приведенных выше решений, которое может быть очень болезненным , если вы хотите установить его динамически при изменении заднего стека, можно установить заполнитель для заголовка фрагмента в навигационной диаграмме , как показано ниже:

<fragment
    android:id="@+id/some_fragment"
    android:name="package.SomeFragment"
    android:label="Hello {placeholder}"
    tools:layout="@layout/fragment_some">
    <argument
        android:name="placeholder"
        app:argType="string" />
</fragment>

Значение заполнителя должно быть указано с помощью FragmentDirections (через метод действия).

Затем он заменяется в заголовке и отображается как Hello World (когда placeholder = "World").

0 голосов
/ 09 января 2017

Самый простой способ - позвонить по номеру this.setTitle("..."), если вы заняты. А если вы во фрагменте, просто позвоните getActivity().setTitle("...");

Этот способ позволит вам изменить заголовок в любое время, не нужно вызывать его раньше setContentView(R.layout.activity_test);

...