简体   繁体   中英

Material design icon Toolbar change different screen

I want change icon when user click button of the toolbar.

But When I try change icon or behavior have many problems.

I try @override my variable static from my activity main example :

Activity1

toolbar.setNavigationIcon(R.drawable.abc_btn_radio_material); // not change original ic_drawer
toolbar = (Toolbar) findViewById(R.id.tool_bar);

Fragment1 (BACK setNavigationOnClickListener WORKS)

MainActivity.toolbar.setNavigationOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        // do something here, such as start an Intent to the parent activity.
        Toast.makeText(getActivity(), "atras", Toast.LENGTH_SHORT).show();
        MainActivity.FragmentReutil2(new Class[]{FragmentMenuStart.class}, 0, getActivity());
    }
});

Fragment2 (BACK setNavigationOnClickListener NOT Works )

    MainActivity.toolbar.setNavigationOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            // do something here, such as start an Intent to the parent activity.
            Toast.makeText(getActivity(), "atras", Toast.LENGTH_SHORT).show();
            MainActivity.FragmentReutil2(new Class[]{Fragment1.class}, 0, getActivity());
        }
    });

How I can change icons + setNavigationOnClickListener (control about fragments or activitys)

Image :

http://i.stack.imgur.com/vcegt.png

Use this code

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

toolbar.setNavigationIcon(R.drawable.ic_good);
toolbar.setTitle("Title");
toolbar.setSubtitle("Sub");
toolbar.setLogo(R.drawable.ic_launcher);

for writing the NavigationOnClickListener override onOptionsItemSelected method

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    // Handle item selection
    switch (item.getItemId()) {
        case android.R.id.home:
            // Here write your code for navigation click
            return true;          
        default:
            return super.onOptionsItemSelected(item);
    }
}

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM