android学习之-随机色的定义与获取

简介:

在学取色的时候代码写的想当然了,结果弄了半天颜色一直不变,仔细看后才发现问题,见代码


 
 
  1. package sucre.android; 
  2.  
  3. import android.app.Activity; 
  4. import android.os.Bundle; 
  5. import android.view.View; 
  6. import android.widget.Button; 
  7. import android.widget.TextView; 
  8. /** 
  9.  * 通过定义一个color.xml,然后让字体随机变色,这里在取色的时候 
  10.  * 要注意一个问题,getResources().getColor(你定义的颜色)这样才 
  11.  * 能真正取到相应的颜色 
  12.  * @author qiaolei 
  13.  * 
  14.  */ 
  15. public class EX03_13 extends Activity { 
  16.     private Button bt; 
  17.     private TextView tv; 
  18.     private int[] colors; 
  19.     private int column; 
  20.     /** Called when the activity is first created. */ 
  21.     @Override 
  22.     public void onCreate(Bundle savedInstanceState) { 
  23.         super.onCreate(savedInstanceState); 
  24.         setContentView(R.layout.main); 
  25.         //定义一个颜色数组 
  26.         colors = new int[]{R.color.red,R.color.blue,R.color.black,R.color.green, 
  27.                 R.color.yellow,R.color.orange,R.color.brown}; 
  28.         column = 0
  29.         bt = (Button)findViewById(R.id.mButton); 
  30.         tv = (TextView)findViewById(R.id.changColor); 
  31.         bt.setOnClickListener(new Button.OnClickListener(){ 
  32.             public void onClick(View v) { 
  33.                 if(column<colors.length){ 
  34.                     System.out.println(colors[column]+":"+getResources().getColor(colors[column])); 
  35.                     //tv.setTextColor(colors[column]); 
  36.                     //tv.setTextColor(-65536); 
  37.                     tv.setTextColor(getResources().getColor(colors[column])); 
  38.                     column++; 
  39.                 }else
  40.                     column = 0
  41.                 } 
  42.             } 
  43.              
  44.         }); 
  45.     } 

注意到文中的


 
 
  1. tv.setTextColor(colors[column]); 

这行代码了吗?这样是取不到颜色的,为了验证通过


 
 
  1. System.out.println(colors[column]+":"+getResources().getColor(colors[column]));  

这行代码得到结果

看到了-65536才是真正的颜色的值,直接这样写


 
 
  1. tv.setTextColor(-65536); 

也是可以变色的,所以取色的时候要这样取


 
 
  1. getResources().getColor(colors[column]) 

本文转自sucre03 51CTO博客,原文链接:http://blog.51cto.com/sucre/743483,如需转载请自行联系原作者

相关文章
|
监控 Unix 应用服务中间件
Android-音视频学习系列-(八)基于-Nginx-搭建(rtmp、http)直播服务器
Android-音视频学习系列-(八)基于-Nginx-搭建(rtmp、http)直播服务器
|
Java Maven 开发工具
第一个安卓项目 | 中国象棋demo学习
本文是作者关于其第一个安卓项目——中国象棋demo的学习记录,展示了demo的运行结果、爬坑记录以及参考资料,包括解决Android Studio和maven相关问题的方法。
212 7
第一个安卓项目 | 中国象棋demo学习
|
Android开发
Android学习 —— 测试init.rc中的条件触发的处理顺序
Android学习 —— 测试init.rc中的条件触发的处理顺序
|
Web App开发 编解码 视频直播
视频直播技术干货(十二):从入门到放弃,快速学习Android端直播技术
本文详细介绍了Android端直播技术的全貌,涵盖了从实时音视频采集、编码、传输到解码与播放的各个环节。文章还探讨了直播中音视频同步、编解码器选择、传输协议以及直播延迟优化等关键问题。希望本文能为你提供有关Andriod端直播技术的深入理解和实践指导。
474 0
|
搜索推荐 Android开发
学习AOSP安卓系统源代码,需要什么样的电脑?不同配置的电脑,其编译时间有多大差距?
本文分享了不同价位电脑配置对于编译AOSP安卓系统源代码的影响,提供了从6000元到更高价位的电脑配置实例,并比较了它们的编译时间,以供学习AOSP源代码时电脑配置选择的参考。
1432 0
学习AOSP安卓系统源代码,需要什么样的电脑?不同配置的电脑,其编译时间有多大差距?
|
Android开发 开发者
Android UI设计中,Theme定义了Activity的视觉风格,包括颜色、字体、窗口样式等,定义在`styles.xml`。
【6月更文挑战第26天】Android UI设计中,Theme定义了Activity的视觉风格,包括颜色、字体、窗口样式等,定义在`styles.xml`。要更改主题,首先在该文件中创建新主题,如`MyAppTheme`,覆盖所需属性。然后,在`AndroidManifest.xml`中应用主题至应用或特定Activity。运行时切换主题可通过重新设置并重启Activity实现,或使用`setTheme`和`recreate()`方法。这允许开发者定制界面并与品牌指南匹配,或提供多主题选项。
288 6
|
Android开发 开发者
Android UI中的Theme定义了Activity的视觉风格,包括颜色、字体、窗口样式等。要更改主题
【6月更文挑战第25天】Android UI中的Theme定义了Activity的视觉风格,包括颜色、字体、窗口样式等。要更改主题,首先在`styles.xml`中定义新主题,如`MyAppTheme`,然后在`AndroidManifest.xml`中设置`android:theme`。可应用于全局或特定Activity。运行时切换主题需重置Activity,如通过`setTheme()`和`recreate()`方法。这允许开发者定制界面以匹配品牌或用户偏好。
342 2
|
存储 Android开发 开发者
Android项目架构设计问题之定义RecyclerView的ViewHolder如何解决
Android项目架构设计问题之定义RecyclerView的ViewHolder如何解决
161 0
|
Android开发
Android项目架构设计问题之定义一个关闭当前页面的Action如何解决
Android项目架构设计问题之定义一个关闭当前页面的Action如何解决
97 0
|
JSON Android开发 数据格式
Android c++ core guideline checker 应用问题之JSON compilation database的定义如何解决
Android c++ core guideline checker 应用问题之JSON compilation database的定义如何解决