Android Toolbar Title

17,145

Solution 1

Toolbar Title can be set in two ways

1.In Layout XML

<android.support.design.widget.AppBarLayout

android:id="@+id/appBarLayout"
android:layout_width="match_parent"
android:layout_height="56dp"
android:elevation="4dp"
android:theme="@style/AppTheme.AppBarOverlay"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">

    <android.support.v7.widget.Toolbar
        android:id="@+id/toolbar"
        app:title="Main Activity"
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"
        android:background="?attr/colorPrimary"
        app:navigationIcon="@drawable/ic_arrow_back_white_24dp"

        app:popupTheme="@style/AppTheme.PopupOverlay" />

</android.support.design.widget.AppBarLayout>

2. In Java It will work in AppCompatActivity

Toolbar toolbar = findViewById(R.id.toolbar);
toolbar.setTitle("Notice Board"); 
setSupportActionBar(toolbar);

Solution 2

I used below line to change the toolbar title

getSupportActionBar().setTitle("YOUR_TITLE");

Solution 3

After this line toolbar = findViewById(R.id.toolbar); add toolbar.setTitle("History & Reports");

and remove setTitle("History & Reports");

Solution 4

Set title in your layout as i did below

    <?xml version="1.0" encoding="utf-8"?>
    <android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="1dp"
        android:background="@color/white"
        android:fitsSystemWindows="true"
        android:minHeight="?attr/actionBarSize"
        android:titleTextColor="@color/colorPrimary"
        app:layout_scrollFlags="scroll|enterAlways"
        app:navigationIcon="?attr/homeAsUpIndicator"
        app:theme="@style/GalaxyZooThemeToolbarDarkOverflow">

        <TextView
            android:id="@+id/textViewTitle"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/app_name"
            android:layout_marginLeft="5dp"
            android:textAppearance="@android:style/TextAppearance.DeviceDefault.Large"/>

    </android.support.v7.widget.Toolbar>

and in your activity simply set the toolbar and disable its default title as follows

    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);

    ActionBar actionBar = getSupportActionBar();
    if(actionBar != null)
        actionBar.setDisplayShowTitleEnabled(false);
Share:
17,145

Related videos on Youtube

Listo
Author by

Listo

Updated on June 04, 2022

Comments

  • Listo
    Listo almost 2 years

    Unable to change toolbar title I set title in manifeast.xml & also used setTitle("TITLE");

    I set title as History & Reports but it display different title Notifications which is another activity title.

    I checked manifeast.xml but No change, Can anyone please help me from this.

    Here is my code

    public class Nav_HistoryAndReports extends AppCompatActivity {
    
    private Toolbar toolbar;
    private TabLayout tabLayout;
    private ViewPager viewPager;
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setTitle("History & Reports");
        setContentView(R.layout.nav_history_and_reports);
    
        toolbar = (Toolbar) findViewById(R.id.toolbar);
        setToolbar(toolbar);
    
        viewPager = (ViewPager) findViewById(R.id.viewpager);
        setupViewPager(viewPager);
    
        tabLayout = (TabLayout) findViewById(R.id.tabs);
        tabLayout.setupWithViewPager(viewPager);
    }
    
    public void setToolbar(Toolbar toolbar) {
        setSupportActionBar(toolbar);
        getSupportActionBar().setDisplayHomeAsUpEnabled(true);
    }
    
    private void setupViewPager(ViewPager viewPager) {
        ViewPagerAdapter adapter = new ViewPagerAdapter(getSupportFragmentManager());
        adapter.addFragment(new FragmentHistoryAndReports_Visits(), "VISITS");
        adapter.addFragment(new FragmentHistoryAndReports_Visitors(), "VISITORS");
        adapter.addFragment(new FragmentHistoryAndReports_Map(), "MAP");
        viewPager.setAdapter(adapter);
    }
    
    class ViewPagerAdapter extends FragmentPagerAdapter {
        private final List<Fragment> mFragmentList = new ArrayList<>();
        private final List<String> mFragmentTitleList = new ArrayList<>();
    
        public ViewPagerAdapter(FragmentManager manager) {
            super(manager);
        }
    
        @Override
        public Fragment getItem(int position) {
            return mFragmentList.get(position);
        }
    
        @Override
        public int getCount() {
            return mFragmentList.size();
        }
    
        public void addFragment(Fragment fragment, String title) {
            mFragmentList.add(fragment);
            mFragmentTitleList.add(title);
        }
    
        @Override
        public CharSequence getPageTitle(int position) {
            return mFragmentTitleList.get(position);
        }
    }
    

    toolbar.xml

    <?xml version="1.0" encoding="utf-8"?>
    <android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="1dp"
        android:background="@color/white"
        android:fitsSystemWindows="true"
        android:minHeight="?attr/actionBarSize"
        android:titleTextColor="@color/colorPrimary"
        app:layout_scrollFlags="scroll|enterAlways"
        app:navigationIcon="?attr/homeAsUpIndicator"
        app:theme="@style/GalaxyZooThemeToolbarDarkOverflow">
    
    </android.support.v7.widget.Toolbar>
    
    • Nizam
      Nizam about 7 years
      setTitle() after setToolbar()
    • Mike M.
      Mike M. about 7 years
      Call getSupportActionBar().setTitle("History & Reports"); at the end of, or after calling, your setToolbar() method.
  • Listo
    Listo about 7 years
    Thanks for the quick response, but No Change
  • Bahu
    Bahu about 7 years
    @Listo add this also with Rachit suggestion getSupportActionBar().setDisplayShowTitleEnabled(true);
  • Mike M.
    Mike M. about 7 years
    setSupportActionBar(toolbar) - They're already using a NoActionBar theme.
  • Shashidhar Mayannavar
    Shashidhar Mayannavar about 7 years
    @Listo, Glad it helped.
  • Mirza Asad
    Mirza Asad over 5 years
    Make sure activity is AppCompatActivity