1.今天在修改framwork中的代码的时候,需要把自己在代码中写的一个#ffffff,变成在xml中引用的变量。具体操作方法如下

1)在

frameworks/base/core/res/res/values

文件夹下的funui_colors.xml 中,设定color值

</resource>
<color name="oos_power_off_text_color_off_funui">#4cffffff</color>
<color name="oos_power_off_text_color_on_funui">#603cffef</color>
</resources>

2)直接在xml中引用

frameworks/base/core/res/res/layout

下的oos_global_actions_normal.xml 引用

<TextView
android:layout_width="70dp"
android:layout_height="wrap_content"
android:singleLine="true"
android:textSize="14sp"
android:textColor="@color/oos_power_off_text_color_off_funui"
android:fadingEdge="none"
android:layout_below="@+id/oos_apmode"
android:layout_toLeftOf="@+id/oos_empty"
android:paddingTop="15dp"
android:gravity="center"
android:text="@string/global_actions_toggle_airplane_mode"
android:id="@+android:id/oos_apmode_title"/>

这些都是没有任何问题的

接下来,当我尝试在代码中使用的时候

import com.android.internal.R;

mViewOnTextColor = mContext.getResources().getColor(R.color.oos_power_off_text_color_off_funui);
mViewOffTextColor = mContext.getResources().getColor(R.color.oos_power_off_text_color_on_funui);

却一直提示说,找不到资源,后来才知道,如果你在framwork中添加了一个变量,而在其他路径下需要使用的时候,这时候你必须要进行注册

注册方法如下

frameworks/base/core/res/res/values

下文件 symbols.xml

<resource>
<java-symbol type="color" name="oos_power_off_text_color_off_funui" />
<java-symbol type="color" name="oos_power_off_text_color_on_funui" />
</resources>

这时候就可以了。

顺便有两点要注意下

1)就是这个关于R资源的介绍

我们知道,如果在eclipse下创建项目,我们设置的变量会自动在gen目录下的R.java文件中创建id。其实,在源码下,也有一个地方专门创建R文件,它的目录为

out/target/common/R

它下面的文件夹就是各个模块下的R文件。而我们的framwork下的文件,就是在

out/target/common/R/com/android/internal 

2)今天虽然成功增加了symbol,但是,编译的时候还是一直报错。后来才发现,有时候你更改了framework,最好是吧这个文件下的几个模块都编译一下

framework  SystemUI   android.policy

color-在framwork中添加属性变量的更多相关文章

  1. pycharm中添加PATH变量

    最近在pycharm中run程序,终端terminal没有问题,在pycharm找不到$PATH中的变量值,如下图所示 同样的命令,在终端敲就没毛病,终端echo $PATH的时候,显示的是有cuda ...

  2. category类别中添加属性

    p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Menlo; color: #c91b13 } p.p2 { margin: 0.0px 0. ...

  3. category中添加属性的简单方式

    一.概念扩充: 1.如我们所知,使用category是用来对现有类进行功能扩展,或者将类分成多模块的一种方式.由声明和实现两部分组成.可以单独写成Objiective-C File类型文件(包含.h和 ...

  4. js 向数组对象中添加属性和属性值

    let resultList = [{"name":"a1"},{"name":"b1"}] resultList.fo ...

  5. Bukkit编程之动态向yml文件中添加属性

    yaml = new Yaml(); String goods = args[0]; String goodsNum = args[1]; YamlConfiguration yc = new Yam ...

  6. Android4.0.4-在build.prop中添加属性的方法【转】

    本文转载自:http://blog.csdn.net/imyfriend/article/details/8939964 1.在*.rc文件中用setprop添加,例如在源码android4.0\sy ...

  7. mac中添加环境变量

    sudo vi /etc/paths 来编辑 paths,将环境变量添加到 paths 中. vim 是一个编辑器,另外还有几个,如:Pico,Emacs.  

  8. python中添加环境变量

    import sys sys.path 系统环境是一个list,可以将自己需要的库添加进入,例如mysql库,hive库等等.有三种方式添加,均验证通过:     1 临时添加,在一个shell窗口中 ...

  9. 在sql语句中添加php变量

    在sql语句中使用{}将php变量扩起来,php就会解析{}中的内容. //案件统计 function getCount($dsql,$tableName,$year){ //诉讼案件总数,总金额 $ ...

随机推荐

  1. C/C++(C++类与对象)

    构造器(constructor) 1.与类名相同,无返回,被系统生成对象时自动调用,用于初始化. 2.可以有参数,构造器的重载,有默认参数.重载和默认参数不能同时出现,但是一定要包含标配(无参数的构造 ...

  2. 洛谷 P2684 搞清洁

    P2684 搞清洁 题目描述 FJ准备分配它的N只奶牛(1 <= N <= 25,000) 做清洁工作,他把一天分成T(1 <= T <= 1,000,000)个时间段,他希望 ...

  3. 关于app.FragmentManager和v4包的FragmentPagerAdapter冲突

    这几天发现一个问题我用getFragmentManager()得到FragmentManager不能放到FragmentPagerAdapter里面去.由于FragmentPagerAdapter里面 ...

  4. OpenCASCADE7.3.0 is available for download

    OpenCASCADE7.3.0 is available for download OPEN CASCADE is pleased to announce a new public release ...

  5. iOS8 对开发人员来说意味着什么?

    今天凌晨.Apple WWDC2014 iOS8 正式推出. 或许,对于广大iOS用户来说,iOS8的创新并非特别多. 但对于开发人员来说,影响却将会是无比巨大的! 正如Apple官网上的广告:Hug ...

  6. 解决wget下载文件名乱码的一些方法

    在下载用apache或者nginx做的索引目录时,遇到文件名乱码问题.搜索了不少资料,尝试了好几种方案,大家可以结合使用. 一般情况下加上–restrict-file-names=nocontrol参 ...

  7. vue --- watch 高级用法

    假设有如下代码: <div> <p>FullName: {{fullName}}</p> <p>FirstName: <input type=&q ...

  8. 关于exports 和 module.exports

    本文来源为node.js社区附上链接 http://cnodejs.org/topic/5231a630101e574521e45ef8 require 用来加载代码,而 exports 和 modu ...

  9. Oracle 11g win7 64位【桌面类 && 服务器类】安装过程

    Oracle 11g  win7  64位[桌面类 && 服务器类]安装过程  一.首先,根据自己的操作系统位数(32位或64位),到官网下载相应的安装程序,如下图所示.       ...

  10. Newtonsoft.json多版本共存

    Newtonsoft.json多版本共存 https://blog.csdn.net/dang13579/article/details/72956684 https://blog.csdn.net/ ...