如何在工具栏上隐藏导航图标

9

我在项目中有以下设计 - 一个活动(包含菜单项A,B,C,D) 如果我们点击菜单项A,则会打开FragmentA。我将此片段添加到活动的顶部,因此工具栏保持不变。 FragmentA的onCreateView是 -

    @Override
        public View onCreateView(LayoutInflater inflater, ViewGroup container,
                                 Bundle savedInstanceState) {
            // Inflate the layout for this fragment
            rootView =  inflater.inflate(R.layout.fragment_a, container, false)

            Activity.toolbar.setTitle("FragmentA");
            Activity.toolbar.setNavigationIcon(R.drawable.back_icon);

            Activity.toolbar.setNavigationOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    Activity.fragmentManager.popBackStack();
                    Activity.toolbar.setTitle("Activity");
                }
            }); 
}

在FragmentA中,我在工具栏上膨胀了返回导航图标。但是当切换回我的Activity时,我想隐藏这个图标。我的Activity中没有任何导航图标或标志。


这可能会对你有所帮助:https://dev59.com/wmUq5IYBdhLWcg3wTuui - Jaimin Modi
请分享你的AndroidManifest.xml文件的代码。 - activesince93
3个回答

23
尝试在返回活动时将NavigationIcon设置为null。
Activity.toolbar.setNavigationOnClickListener(new View.OnClickListener( {
    @Override
    public void onClick(View view) {
        Activity.fragmentManager.popBackStack();
        Activity.toolbar.setTitle("Activity");
        Activity.toolbar.setNavigationIcon(null);
    }
}); 

4

这个在我这里可以正常工作:

getSupportActionBar().setDisplayHomeAsUpEnabled(false);

希望它能帮助到某些人


1
如果你想在任何片段中从工具栏隐藏NavigationView图标,请使用以下代码。
@Override
public void onAttach(Context context) {
    super.onAttach(context);
    MainActivity activity = (MainActivity)context;
    Toolbar toolbar = activity.findViewById(R.id.toolbar);
       toolbar.setTitle("Quiz");
       toolbar.setNavigationIcon(null);

}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接