Lis*_*sto 5 android android-manifest android-titlebar android-appbarlayout
无法更改工具栏标题,我在中manifeast.xml也设置了标题setTitle("TITLE");
我将标题设置为“ 历史记录和报告”,但它显示不同的标题通知,这是另一个活动标题。
我检查了一下,manifeast.xml 但没有任何变化,任何人都可以帮忙。
这是我的代码
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);
}
}
Run Code Online (Sandbox Code Playgroud)
工具栏
<?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>
Run Code Online (Sandbox Code Playgroud)
可以通过两种方式设置工具栏标题
1,在布局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>
Run Code Online (Sandbox Code Playgroud)
2.在Java中 它将在AppCompatActivity中工作
Toolbar toolbar = findViewById(R.id.toolbar);
toolbar.setTitle("Notice Board");
setSupportActionBar(toolbar);
Run Code Online (Sandbox Code Playgroud)
在此行之后toolbar = findViewById(R.id.toolbar);添加toolbar.setTitle("History & Reports");
并删除setTitle("History & Reports");