Toolbar的使用整理笔记
来源:互联网 发布:c语言绚丽表白代码照片 编辑:程序博客网 时间:2024/05/20 09:48
ActionBarActivity已经被弃用,推荐使用AppCompatActivity 。
Material Design的主题有:
- @android:style/Theme.Material (dark version)
- @android:style/Theme.Material.Light (light version)
- @android:style/Theme.Material.Light.DarkActionBar
与之对应的Compat Theme:
- Theme.AppCompat
- Theme.AppCompat.Light
- Theme.AppCompat.Light.DarkActionBar
Compat Theme能够兼容5.0以下版本适用md主题
要使用md主题,Activity必须继承AppCompatActivity
添加toolbar
先在res/values/styles.xml 中增加一个名为AppThemeBase的style
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
布局中添加layout
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
这里说明一下?attr/代表引用当前主题的属性
?attr/actionBarSize -> 当前主题下actionbar高度系统自带的
?attr/colorPrimary -> 当前主题下colorPrimary颜色
activity中添加代码如下
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
setSupportActionBar() 方法设置toolbar为此Activity的App Bar;
当ToolBar被设置为App Bar,可通过getSupportActionBar()方法获取到一个的ActionBar对象,通过该对象引用可对ToolBar做更多操作;
定义Menu菜单
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
app:showAsAction属性设置是否在App Bar上显示一个按钮
app:showAsAction=”ifRoom” //显示在Bar上
app:showAsAction=”never” //不显示Bar上,在溢出菜单中显示
由于showAsAction属性是在支持包中定义的,所以需要添加命名空间:
- 1
- 1
activity中添加代码如下
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
运行效果如下
toolbar设置其他颜色
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
app:theme=”@style/ThemeOverlay.AppCompat.Dark.ActionBar”->给toolbar设置单独的主题
app:popupTheme=”@style/ThemeOverlay.AppCompat.Light”->给弹出窗设置主题
Menu添加监听
方式一:
重写onCreateOptionsMenu(Menu menu)、onOptionsItemSelected(MenuItem item)
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
方式二:
重写onCreateOptionsMenu(Menu menu),通过toolbar.setOnMenuItemClickListener()监听
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
注意:需要將toolbar.setOnMenuItemClickListener()设定在 setSupportActionBar 之后才有作用(setNavigationIcon也需要放在 setSupportActionBar之后才会生效)
返回按钮
- 1
- 2
- 3
- 4
- 5
- 6
- 1
- 2
- 3
- 4
- 5
- 6
setHomeButtonEnabled(true) //设置返回键可用
setDisplayHomeAsUpEnabled(true) //设置返回键显示,注意当设置自定义返回键时,系统默认将不显示
重写onOptionsItemSelected()或setOnMenuItemClickListener监听事件:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
2、自定义
- 1
- 2
- 3
- 4
- 5
- 6
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
其他设置
setNavigationIcon
设置自定义返回位置图标
setLogo
APP 的图标。
setTitle
主标题。
setSubtitle
副标题。
setOnMenuItemClickListener
设定菜单各按鈕的动作。
关于toolbar规范
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
Material Design 规范建议应用栏具有 4 dp 的仰角。
android:elevation="4dp"
笔记参考文章,感谢:
- Toolbar的使用整理笔记
- toolbar使用笔记
- toolbar使用笔记
- ToolBar使用笔记
- (笔记)Android使用ToolBar
- toolbar整理
- ToolBar控件的使用
- Toolbar的高级使用
- Android --Toolbar的使用
- ToolBar的使用
- android toolbar的使用
- ToolBar的使用
- toolbar的使用
- ToolBar的基本使用
- ToolBar的使用
- toolbar的使用
- ToolBar的简单使用
- ToolBar的使用
- springMVC 解析
- Redis与Memcached的区别
- 利用jdom创建xml文件示例
- Mysql海量数据存储和解决方案之一—分布式DB方案
- socket的一些方法
- Toolbar的使用整理笔记
- orbslam2-基础理论(二)
- 机器学习总结(九):梯度消失(vanishing gradient)与梯度爆炸(exploding gradient)问题
- Java数组内存分析
- angularjs加法计算
- java.lang.OutOfMemoryError: Java heap space错误及处理办法(收集整理、转)
- 置换元素与非置换元素
- idea 热部署 jrebel 详细配置
- 分布式助手Zookeeper(三)