ToolBar的简单实用(点击弹窗实现页面切换)

效果图如下:
ToolBar的简单实用(点击弹窗实现页面切换)_第1张图片
这个是点击 弹窗中的1。
ToolBar的简单实用(点击弹窗实现页面切换)_第2张图片
这个是点击弹窗中的2。

实现代码如下:

1.依赖

implementation 'com.android.support:appcompat-v7:25.3.1'

2.xml控件(布局)


3.activity

ToolBar toobar = findViewById(R.id.toobar);//控件id
toobar.setTitle("title");//设置标题
        toobar.setSubtitle("sub");//设置子标题
        toobar.setLogo(R.mipmap.ic_launcher);//设置logo
        setSupportActionBar(toobar);//必须要写的,顶部显示toobar
        toobar.setNavigationIcon(R.drawable.ic_format_list_bulleted_white_24dp);//设置弹窗的图片点击
        //toolbar的弹窗菜单点击事件
        toobar.setOnMenuItemClickListener(new Toolbar.OnMenuItemClickListener() {
            @Override
            public boolean onMenuItemClick(MenuItem menuItem) {
                switch (menuItem.getItemId()){
                    case R.id.action_item1://这个是点击弹窗1
                        Log.i("TAST==","1");
                        myviewPager.setCurrentItem(0);//viewPager的页面切换,0为fragmentOne,1为fragmentTwo
                        break;
                    case R.id.action_item2://这个是点击弹窗2
                        Log.i("TAST==","2");
                        myviewPager.setCurrentItem(1);
                        break;
                }
                return true;//默认false,记得改成true
            }

        });
        //重写这个方法,实现弹窗的布局
         @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.base_toobar_menu,menu);
        return true;
    }

新建一个layout/menu/.base_toobar_menu.xml。

	
    

需要改动的模块
layout/values/styles.xml



    
    
//新写一个style,设置name和parent。----这是弹窗的样式
    
//新写一个style。设置name和parent,上一行会用到
    

layout/values/strings.xml


    day06test_
    1//1 2 3是弹窗的条目文字
    2
    3

layout/values/color.xml


    #008577
    #00574B
    #D81B60
    #ffff
    #000

如果要实现弹窗的点击事件,使用viewPager比较简单好用。

myviewPager.setAdapter(new FragmentPagerAdapter(getSupportFragmentManager()) {
            @Override
            public Fragment getItem(int i) {
                if(i == 0){
                    return new FragmentOne();
                }else{
                    return new FragmentTwo();
                }
            }

            @Override
            public int getCount() {
                return 2;
            }
        });

你可能感兴趣的:(ToolBar的简单实用(点击弹窗实现页面切换))