有没有一种简单的方法可以从片段中的 activity 自定义工具栏?
Is there an easy way to customize a toolbar from an activity from within a fragment?
我正在开发一个应用程序,我使用 one activity 加载我所有的片段。
在我的一个片段中,我制作了一个 listview,当点击一个项目时,你会被发送到另一个片段。
在每个片段上,我都有一个汉堡菜单来在我的片段之间导航,但是在我的 "details fragment" 上,我想要一个后退图标而不是汉堡菜单,有没有一种简单的方法来替换主工具栏并替换它带有一个带后退按钮的工具栏。
在您的片段中覆盖 onCreateOptionsMenu()
并添加后退按钮
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
super.onCreateOptionsMenu(menu, inflater);
menu.clear();
setToolbar();
}
private void setToolbar() {
Toolbar ftoolbar = (Toolbar) getActivity().findViewById(R.id.toolbar);
if (ftoolbar != null) {
ftoolbar.setNavigationIcon(R.drawable.back_button);
ftoolbar.setNavigationOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
getFragmentManager().popBackStack();
}
});
}
}
详细信息片段应该在新的 activity 中。将下一级导航放入现有 Activity 不是好的做法。您可以找到更多相关信息 here.
我正在开发一个应用程序,我使用 one activity 加载我所有的片段。 在我的一个片段中,我制作了一个 listview,当点击一个项目时,你会被发送到另一个片段。
在每个片段上,我都有一个汉堡菜单来在我的片段之间导航,但是在我的 "details fragment" 上,我想要一个后退图标而不是汉堡菜单,有没有一种简单的方法来替换主工具栏并替换它带有一个带后退按钮的工具栏。
在您的片段中覆盖 onCreateOptionsMenu()
并添加后退按钮
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
super.onCreateOptionsMenu(menu, inflater);
menu.clear();
setToolbar();
}
private void setToolbar() {
Toolbar ftoolbar = (Toolbar) getActivity().findViewById(R.id.toolbar);
if (ftoolbar != null) {
ftoolbar.setNavigationIcon(R.drawable.back_button);
ftoolbar.setNavigationOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
getFragmentManager().popBackStack();
}
});
}
}
详细信息片段应该在新的 activity 中。将下一级导航放入现有 Activity 不是好的做法。您可以找到更多相关信息 here.