二、Toolbar

一、Toolbar类的继承关系:
二、Toolbar_第1张图片
Toolbar类的继承关系.png
二、Toolbar中主要功能的说明
二、Toolbar_第2张图片
主要功能展示
三、Toolbar中主要属性的说明

使用Toolbar控件时,必须在根布局中自定义nameSpace,而不是使用android,如果使用了android会无效,比如xmlns:wl = "http://schemas.android.com/apk/res-auto",使用时:wl:navigationIcon = "@mipmap/ic_launcher"
常用属性如下:

  • 1.wl:navigationIcon 用来设置最左边的导航按钮,一般为返回按钮等;
  • 2.wl:logo 用来设置logo图标的;
  • 3.wl:title 用来设置主标题;
  • 4.wl:subtitle 设置子标题,在主标题下面;
  • 5.wl:titleTextColor 设置主标题的字体颜色;
  • 6.wl:subtitleTextColor 设置子标题的字体颜色;
  • 7.wl:titleTextAppearance 设置标题相关属性,如:字体,颜色,大小;通常refrence一个style;
  • 8.wl:subtitleTextAppearance 设置子标题相关属性;
  • 9.android:background 设置Toolbar整体的背景;注意:这里使用的命名空间是android;
  • 10.wl:theme 设置Toolbar主题样式,用来设置溢出菜单重的字体颜色、大小,设置溢出菜单显示的图标,设置显示在Toolbar上字体颜色;详情见下面customStyle.xml文件设置;
  • 11.wl:popupTheme 用来设置overflow menu的主题样式;
四、Toolbar中主使用说明
  • 1.具体xml中的使用


    
        //TODO这里用来放子控件
         
    

  • 2.toolbar中使用theme来配置溢出菜单中的属性
 
    

    

    

效果图如下:

二、Toolbar_第3张图片
效果图.png
五、Activity中的使用
 @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        mToolbar = (Toolbar) findViewById(R.id.toolbar);
        mToolbar.setTitle("woca");
        setSupportActionBar(mToolbar);
        //设置NavigationIcon的点击事件
        mToolbar.setNavigationOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Toast.makeText(MainActivity.this, "1", Toast.LENGTH_SHORT).show();
            }
        });
        mToolbar.setLogo(R.mipmap.ic_launcher_round);
        mToolbar.inflateMenu(R.menu.item_menu);
        //设置logo距离NavigationIcon的距离的
//        mToolbar.setContentInsetStartWithNavigation(0);
        //设置overflow menu中的item监听
        mToolbar.setOnMenuItemClickListener(new Toolbar.OnMenuItemClickListener() {
            @Override
            public boolean onMenuItemClick(MenuItem item) {
                switch (item.getItemId()) {
                    case R.id.menu_one:
                        Toast.makeText(MainActivity.this, "one", Toast.LENGTH_SHORT).show();
                        break;
//                    case R.id.menu_tow:
//                        Toast.makeText(MainActivity.this, "two", Toast.LENGTH_SHORT).show();
//                        break;
//                    case R.id.menu_three:
//                        Toast.makeText(MainActivity.this, "three", Toast.LENGTH_SHORT).show();
//                        break;
                }
                return false;
            }
        });
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.item_menu,menu);
        return true;
    }

github仓库

相关内容:

一、CoordinatorLayout的梳理与使用

二、Toolbar的梳理与使用

三、TextInputLayout的梳理与使用

四、FloatingActionButton的梳理与使用

五、Snackbar的梳理与使用

六、CardView的梳理与使用

七、BottomSheetDialog的梳理与使用

八、TabLayout的梳理与使用

你可能感兴趣的:(二、Toolbar)