actionMode-theme中修改actionmode中more下拉框的背景颜色
今天在做图库修改是,需要修改图库的actionbar某个按钮弹出来的下拉框的背景颜色,在网上找了个方法尝试下,没有打到自己的要求,不过阴差阳错的却修改了more下拉框的背景,再次记录下,也许以后能用的到。
代码
<style name="Theme.FunuiGallery" parent="android:Theme.Funui">
<item name="listPreferredItemHeightSmall">48dp</item>
<item name="android:itemTextAppearance">@style/Gallery.IconMenu.Item</item>
<item name="switchStyle">@android:style/Widget.CompoundButton</item>
<item name="android:actionBarStyle">@style/PhotoBarStyle</item>
<item name="android:actionModeStyle">@style/ActionModeStyle</item>
<item name="android:actionOverflowButtonStyle">@style/ContactsActionBarOverflow</item>
<item name="android:actionModeSplitBackground">@android:drawable/ic_menu_close_clear_cancel</item>
<item name="*android:activityChooserViewStyle">@style/Gallery.ChooserViewStyle</item>
<item name="*android:actionModeShareDrawable">@drawable/ic_menu_share_holo_dark</item> </style>
<!-- 修改字体颜色-->
<style name="Gallery.IconMenu.Item" parent="@android:style/TextAppearance.Small">
<item name="android:textColor">#ffffff</item>
</style>
<!--修改more按钮图标-->
<style name="ContactsActionBarOverflow" parent="@android:style/Widget.Holo.ActionButton.Overflow">
<item name="android:src">@drawable/action_mode_more</item>
</style>
<style name="Gallery.ChooserViewStyle" parent="@*android:style/Widget.Funui.ActivityChooserView">
<item name="android:background">@null</item>
</style>
属性介绍:
1.<item name="android:itemTextAppearance">@style/Gallery.IconMenu.Item</item>
这个主要是用来设置actionmode里面的more按钮的下拉框字体颜色,不过,它里面好像没有设置背景颜色的属性,反而背景会随着字体的颜色而改变
2.<item name="*android:activityChooserViewStyle">@style/Gallery.ChooserViewStyle</item>
这个是用来修改图库上面的那个分享背景的
3.<item name="*android:actionModeShareDrawable">@drawable/ic_menu_share_holo_dark</item>
这个是用来修改分享的图标的
注意
当我们要引用一个非公开的theme或者sytle属性的时候,这时候,我们一定要在前面加上一个*号,无论这个属性是在使用,还是作为某一个theme的父类,就如上面的
<style name="Gallery.ChooserViewStyle" parent="@*android:style/Widget.Funui.ActivityChooserView">
<item name="*android:actionModeShareDrawable">@drawable/ic_menu_share_holo_dark</item>
如果我们实在代码中进行引用,是没办法直接引用非公开的属性的,这时候我们要么是把那个属性公开,要么是自己定义一个属性,然后利用*号引用父类,这时候自己的主题就是公开的了;
如何看一个属性是不是公开的?我们只需要在framework下搜索这个属性,如果能看到public文件中有,就说名这个属性是公开的,就像<public type="attr" name="textAppearanceInverse" id="0x01010035" />。至于怎么使一个属性公开化,还没有去尝试,以后用到再说吧。
今天让一个同事帮忙解决一个问题,主要就是替换一个图片。看他的操作,给我的感触很深,就是他解决问题的时候,思路非常的清晰,虽然他也不知道能不能解决,但他总是能沿着一个方向,有条不紊的进行,而不会向我一样都是在一个地方来回绕。
1.查找问题关键字
2.到framework下查找类的具体实现,看其中有没有可利用的属性来实现自己的要求
3.反过来查询,根据图片来查看到底那个地方用到了这个图片
actionMode-theme中修改actionmode中more下拉框的背景颜色的更多相关文章
- ComboboxColumn取值——Winform中DataGridView中某一列使用下拉框
ComboboxColumn的用法网上很多,绑定数据源都很简单,这里我遇到的是.不绑定数据源,即所有comobox的绑定都是固定的几个数据: 可以看到没有绑定任何数据源, ,在后台cs中取到下拉框的值 ...
- Ajax实现在textbox中输入内容,动态从数据库中模糊查询显示到下拉框中
功能:在textbox中输入内容,动态从数据库模糊查询显示到下拉框中,以供选择 1.建立一aspx页面,html代码 <HTML> <HEAD> <title>We ...
- 在vue中的form表单中下拉框中的数据来自数据库查询到的数据
文章目录 1.实现的效果: 2.前端html代码 3.js中的代码 4.后端的方法 1.实现的效果: 增加一个新的类型到数据库 2.前端html代码 需要注意的部分:prop后边是表单中的字段 v-m ...
- selenium中各个模块操作:下拉框、鼠标悬浮连贯、拼图拖拽操作、以及其他拖拽操作、连线操作
1.下拉框的修改操作 方法一:定位到元素后,通过select选择对应的值 方法二:通过两次点击的方法:没有select的value属性时,采用click两次的方法去选择: click第一次后,出现下拉 ...
- iosselect:一个js picker项目,在H5中实现IOS的select下拉框效果
具体文档和demo可以访问github:https://github.com/zhoushengmufc/iosselect 移动端浏览器对于select的展示样式是不一致的,ios下是类似原生的pi ...
- layui修改数据的时候下拉框和选择框默认选中
// 获取需求类型function getType() { var typeHtml = ''; $.ajax({ url: pUrl + 'back_findTypeList.do', type: ...
- ThinkPHP中ajax绑定select下拉框无法显示
html代码: 控制器代码: 其中的<option value="{$vo.gradeId}">{$one.gradeName}</option> 在操作过 ...
- robotframework自动化系列:随机下拉框
robotframework自动化系列:随机下拉框 随着项目自动化不断推进,在下拉框定位的时候出现些问题,每次下拉框选择都是相同的下拉选项,如果想每次选择的选项不一样,该如何实现呢,查找了很多资料,没 ...
- MVC4 绑定下拉框方法,解决编辑时不绑定值
方法一 Controller 部分代码: public ActionResult Modify(int id) { //3.1.1 检查id //3.1.2根据id查询数据 Models.Stude ...
随机推荐
- SpringMVC后台使用对象接受参数字符串转日期
在springMVC配置文件中加入: <bean id="dateConvert" class="com.iomp.util.DateConvert"/& ...
- 重温前端基础之-css浮动之怪异现象
其实,两种情况中box2的内容都是围绕着浮动元素box1来的. 因为:浮动元素会覆盖块元素,但块元素里的内容(内联盒)不会被覆盖,而是围绕着浮动盒. 将box1的背景色去掉,真相就大白了: 此时发现, ...
- animation和transition做动画的区别
animation做动画,是不需要去触发的,可以定义一开始就执行 transition做动画,是需要人为触发,才能执行的
- Android——PullToRefresh自动刷新
需求:强制刷新 方法一: PullToRefreshListView本身提供了一个setRefreshing()接口,调用该接口会自动触发下拉刷新的操作(前提是支持下拉刷新).按照一般的操作我们直接在 ...
- js中字符串转驼峰转为下划线
function dasherize(str) { return str.replace(/::/g, '/') .replace(/([A-Z]+)([A-Z][a-z])/g, '$1_$2') ...
- iOS-RAC学习笔记(一)——RACStream
RACStream是RACSignal和RACSequence的父类,定义了一些流的操作方法.从名字上可以看出来,这个对象就像流一样可以往任何一个出口流,同时也可以给这个流设计一道道关卡,改变流(这里 ...
- 不再安全的 OSSpinLock
自旋锁的本质是持续占有cpu,直到获取到资源.与其他锁的忙等待的实现机制不同. 昨天有位开发者在 Github 上给我提了一个 issue,里面指出 OSSpinLock 在新版 iOS 中已经不能再 ...
- PL/SQL恢复默认窗口样式
对于初学者来讲,使用PL/SQL时会不小心将窗体关闭,如下图 2. 怎么恢复呢?其实很简单 3. 搞定 转自:http://blog.csdn.net/hello_word2/article/deta ...
- NodeJS学习笔记 (22)全局对象-global
https://github.com/chyingp/nodejs-learning-guide
- Hexo Next 调优
Links对齐 编辑themes/next/source/css/_custom下的custom.styl,添加如下代码即可. .links-of-blogroll-title{ margin-lef ...