Android Toolbar使用ActionMode
2016-06-24 16:35
429 查看
版权声明:本文为博主原创文章,未经博主允许不得转载。转载请注明原地址
目录(?)[+]
基本情况
设置Style
Java
总结
谢谢
Android5.0之后的MD设计,使用了Toolbar代替了ActionBar,如何在使用Toolbar的时候,能够适配ActionMode
以上的
当然,也有可能出现ActionMode和Toolbar的颜色不同,或者高度不一致的问题:
再次修改style,最终的 style.xml:
其实Toolbar适配ActionMode最重要的是:设置正确的style,对于有自己的设计需求,修改CustomActionMode便可。
转自:http://blog.csdn.net/u012336923/article/details/50865120
Activity需要继承AppCompatActivity
通过startSupportActionMode启动ActionMode而不是startActionMode
private ActionMode.Callback mCallback = new ActionMode.Callback() {
@Override
public boolean onCreateActionMode(ActionMode mode, Menu menu) {
mode.setTitle("This is Title");
mode.setSubtitle("This is SubTitle");
getMenuInflater().inflate(R.menu.menu_item_callback, menu);
return true;
}
@Override
public boolean onPrepareActionMode(ActionMode mode, Menu menu) {
return false;
}
@Override
public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
return false;
}
@Override
public void onDestroyActionMode(ActionMode mode) {
}
};
...
startSupportActionMode(mCallback);
转自:http://blog.csdn.net/u012336923/article/details/50865120
目录(?)[+]
Toolbar使用ActionMode
Toolbar使用ActionMode基本情况
设置Style
Java
总结
谢谢
基本情况
ActionMode 其实是一种菜单方式,从Android3.0之后出现,可以通过AppCompat兼容老版本。Android5.0之后的MD设计,使用了Toolbar代替了ActionBar,如何在使用Toolbar的时候,能够适配ActionMode
设置Style
<style name="AppTheme" parent="AppTheme.Parent"> <!-- Customize theme here. --> </style> <style name="AppTheme.Parent" parent="Theme.AppCompat"> <item name="windowActionModeOverlay">true</item> <item name="windowActionBarOverlay">true</item> <item name="windowNoTitle">true</item> <item name="windowActionBar">false</item> </style>
以上的
<item name="windowActionModeOverlay">true</item>其实是为了能够让ActionMode能够覆盖我们的Toolbar,否则会出现ActionMode将Toolbar顶下去的样子(重复出现):
当然,也有可能出现ActionMode和Toolbar的颜色不同,或者高度不一致的问题:
再次修改style,最终的 style.xml:
<style name="AppTheme" parent="AppTheme.Parent"> <!-- Customize theme here. --> <item name="actionModeStyle">@style/CustomActionMode</item> </style> <style name="AppTheme.Parent" parent="Theme.AppCompat"> <item name="windowActionModeOverlay">true</item> <item name="windowActionBarOverlay">true</item> <item name="windowNoTitle">true</item> <item name="windowActionBar">false</item> </style> <style name="CustomActionMode" parent="@style/Widget.AppCompat.ActionMode"> <item name="background">@color/primary_color</item> <item name="height">64dp</item> </style>
Java
注意:ActionMode.Callback接口使用android.support.v7.view.ActionMode 而不是android.view.ActionMode
其实Toolbar适配ActionMode最重要的是:设置正确的style,对于有自己的设计需求,修改CustomActionMode便可。
转自:http://blog.csdn.net/u012336923/article/details/50865120
Activity需要继承AppCompatActivity
通过startSupportActionMode启动ActionMode而不是startActionMode
private ActionMode.Callback mCallback = new ActionMode.Callback() {
@Override
public boolean onCreateActionMode(ActionMode mode, Menu menu) {
mode.setTitle("This is Title");
mode.setSubtitle("This is SubTitle");
getMenuInflater().inflate(R.menu.menu_item_callback, menu);
return true;
}
@Override
public boolean onPrepareActionMode(ActionMode mode, Menu menu) {
return false;
}
@Override
public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
return false;
}
@Override
public void onDestroyActionMode(ActionMode mode) {
}
};
...
startSupportActionMode(mCallback);
总结
其实Toolbar适配ActionMode最重要的是:设置正确的style,对于有自己的设计需求,修改CustomActionMode便可。转自:http://blog.csdn.net/u012336923/article/details/50865120
谢谢
相关文章推荐
- Android消息循环机制总结
- Android DatePicker和DatePickerDialog基本用法示例
- 记Android Studio自定义属性访问不了的问题
- Android 监听锁屏、解锁、开屏 操作
- android 官方DrawerLayout的介绍和使用
- Android源码解析ViewGroup的touch事件分发机制
- Android Studio 快捷键
- 关于高通AR在Android手机上摄像头对焦的问题
- 一步一步教你写股票走势图——K线图五(高亮联动二)
- Android 性能指标检测工具
- Android之AlarmManager定时器
- Android OTA升级(1):编译升级全包
- TextSwitcher
- AndroidFine Android快速开发框架
- Android AutoCompleteTextView控件基本用法示例
- Android 加速 Gradle 构建速度
- android 之sqlite应用总结
- [Android5.1]Broadcast机制
- SVN与Git的最主要的区别?
- Android 隐藏(删除) Preference 小结