webentwicklung-frage-antwort-db.com.de

Titel der Android-Symbolleiste

Der Titel der Symbolleiste kann nicht geändert werden. Ich habe den Titel in manifeast.xml festgelegt und habe auch setTitle("TITLE"); verwendet.

Ich habe den Titel als Verlauf & Berichte festgelegt, aber es werden andere Titel angezeigt Benachrichtigungen Dies ist ein anderer Aktivitätstitel.

Ich habe manifeast.xml geprüft, aber keine Änderung. Kann mir jemand bitte dabei helfen?.

Hier ist mein 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>
4
Listo

Der Titel der Symbolleiste kann auf zwei Arten festgelegt werden

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 Es wird in AppCompatActivity arbeiten

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

Ich habe die folgende Zeile verwendet, um den Titel der Symbolleiste zu ändern

getSupportActionBar().setTitle("YOUR_TITLE");

Nach dieser Zeile toolbar = findViewById(R.id.toolbar); füge toolbar.setTitle("History & Reports"); hinzu

und entfernen Sie setTitle("History & Reports");

1
Rachit

Ich habe eine Lösung gefunden

    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);
    if (getSupportActionBar() != null)
        getSupportActionBar().setTitle(getString(R.string.calender));

Dieser arbeitet für mich

1
Ankur Bavishi

Stellen Sie den Titel in Ihrem Layout wie unten beschrieben ein

    <?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>

stellen Sie in Ihrer Aktivität einfach die Symbolleiste ein und deaktivieren Sie den Standardtitel wie folgt

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

    ActionBar actionBar = getSupportActionBar();
    if(actionBar != null)
        actionBar.setDisplayShowTitleEnabled(false);
1
Zubair Akber

Wenn Sie eine Symbolleiste verwenden, die actionBar unterstützt, sollten Sie wie folgt vorgehen:

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_favorite);

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

try {
    getSupportActionBar().setDisplayHomeAsUpEnabled(true);
    getSupportActionBar().setDisplayShowHomeEnabled(true);
} catch (NullPointerException e) {
    Log.d(TAG, "onCreate: back button not supported!");
}

// here you set your activity title
getSupportActionBar().setTitle("Your Activity Title");
1
MohammadL

versuchen Sie, getsupportActionBar (). setTitle () hinzuzufügen.

0
nkoroi

Litle ändern Sie Ihren Code so aussehen ..

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

Und nach setToolbar schauen

 public void setToolbar(Toolbar toolbar) {
    toolbar.setTitle("History & Reports");
    setSupportActionBar(toolbar);
    getSupportActionBar().setDisplayHomeAsUpEnabled(true);
}
0
Joy

Wie Mike M sagte

Ich habe gerade getSupportActionBar().setTitle("History & Reports"); am Ende oder nach dem Aufruf Ihrer setToolbar () -Methode hinzugefügt.

0
Listo