Android使用java的Math.Random获取随机色值

Android (int) (Math.random() * 100 % 4) 的结果 Math类是数学类,调用random()方法生成0~1的随机数,乘于100 生成0~100的随机数 % 这个表示取模运算或者求余运算 0~100的数 取模运算之后 为0~4的随机数 (int) (Math.random() * 100 % 4) :表示强制取整,把小数点去掉只剩整数部分。 综上分析:(int) (Math.random() * 100 % 4) 的结果为:0~3之间的随机整数 ...... 阅读详情

网上有个ColorPicker开源项目,选择颜色值。而在这里我想实现的是动态修改一个view的背景色。

开一个线程,每隔1s修改一次view的背景色。

我们知道在android里设置一个view的背景色有

framelayout.setBackgroundColor(Color.parseColor("#"+arg0.obj));
就是用android的Color类去解析一个带#号的十六进制色值。现在要做的是动态随机获取这个16进制色值。

java给我们提供了两种方法获取随机数:

一、使用Random类

通过Random类来产生一个随机数,这个是专业的Random工具类,功能强大。

有篇博文讲的比较详细http://www.cnblogs.com/linjiqin/archive/2011/08/23/2150212.html

三、Random类使用说明
  1、带种子与不带种子的区别
  Random类使用的根本是策略分带种子和不带种子的Random的实例。 
  通俗说,两者的区别是: 
  带种子的,每次运行生成的结果都是一样的。 
  不带种子的,每次运行生成的都是随机的,没有规律可言。 
  2、创建不带种子的Random对象
  Random random = new Random(); 
  3、创建不带种子的Random对象
  有两种方法:
  1) Random random = new Random(555L); 
  2) Random random = new Random(); 
  random.setSeed(555L); 

总的来说,Random可以生成一个指定范围以内的随机数。

比如:要生成1000到100之间的随机数,random.nextInt(1000)+100;注意这里是不包括1000的,

我测试过了,如果让random.nextInt(1)返回的永远都不会是1,都是0

二、直接使用Math.random()方法
而通过Math.random()返回一个0到1之间的double值。

如果要生成1000到100之间的随机数,则Math.random()*(1000-100)+100;


但是16进制的颜色值如何生成呢。

我用

long i = Long.parseLong("ff000000", 16);

long i = Long.parseLong("ffffffff", 16);测试了下,返回的是一个Long型的数据。

Long型转换成int型的可以直接int k = (int)i;得到的这个k是个负数。这个跟int类型的长度有关,具体可以去深究下

int类型和long型转换。

全0的,通过Long型转成的int型大小是-16777216;

全F的,通过Long型转成的int型大小是-1;

现在知道范围了,可以用Random或者Math生成一个范围在16777216到1之间的一个随机数了。

然后将这个随机数取负数。然后通过

String hex = Integer.toHexString(-16777216);
这个方法可以得到一个十六进制的数,如:FFFFFFFF;

这个十六进制的字符就是我们需要用Color.parse解析的色值了。下面大家应该知道怎么做了吧!

PS:如果还有更方便,更准确,更好用的方法实现希望各位网友留言哦,我们一起探讨啊!







Android编程实现随机生成颜色的方法示例 主要介绍了Android编程实现随机生成颜色的方法,结合实例形式分析了Android使用java Random类针对随机数及颜色值相关操作技巧,需要的朋友可以参考下 立即下载

相关推荐

Buck-Boost电路实战:如何用LM2596模块快速搭建升降压电源(附元件选型指南)

本文详细介绍了如何使用LM2596模块快速搭建Buck-Boost升降压电路,包括硬件选型、电路搭建、示波器实测和进阶技巧。通过实测数据和避坑指南,帮助电子工程师解决电压不稳定、效率低下等常见问题,提升DC-DC变换器的设计水平。

weixin_30485379的博客 111

Android Math.random()解释

Math.random():产生一个[0,1)之间的随机数,大于等于0小于1的随机小数,返回值是double类型的。 eg:int value=(int)(Math.random()*x+y);//生成大于等于0*x+y---小于1*x+y之间的随机整数 也就是大于等于y--小于x+y之间的随机整数 注:int a=Math.random()*1;//生成的是大于等于0小于1

zhangjikuan的专栏 8439

优化Cartographer重定位速度:从子图筛选到参数调优的完整思路

本文详细介绍了优化Cartographer重定位速度的完整方法,从子图筛选到参数调优,帮助工程师在已知初始位姿的前提下将重定位耗时降低50%以上。重点分析了性能瓶颈、子图筛选策略、匹配算法选择及环境自适应的参数优化策略,并通过实战案例展示了显著效果提升。

weixin_28704565的博客 465

【Android】生成随机数

项目中时常会用到随机数,安卓中的随机数的方法主要继承的是java的两个库 java.lang.Math中的Math.random() java.util.Random类中的Random.nextDouble()/Random.nextInt() 1、Math.random() Math.random()是产生一个[0,1)之间的随机数,并且不存在四舍五入的概念 来看看它的源码: publi...

A Coder 1万+

Unity通用Buff系统,Buff编辑器(1,理论篇)(技能系统之Buff篇)

逻辑层根据游戏的规则和设计,控制Buff的生命周期、影响目标对象的属性或行为,以及处理Buff的交互和冲突。Buff堆叠和冲突:有些游戏中允许同类型的Buff叠加,以增加效果的强度,而有些游戏中可能不允许Buff叠加,只能由更强力的Buff来覆盖较弱的Buff。灵活个性化:每个游戏对象拥有自己的BuffManager,可以实现个体对象的独特Buff效果,增加游戏的多样性和个性化。自由控制:每个对象独立管理自己的Buff,可以自由地激活、更新和移除Buff效果,提供更精细的控制和逻辑实现。

u010082265的博客 4695

空心杯电机在美容仪器中的应用:为什么你的洗脸刷动力这么强?

本文深入解析了空心杯电机如何成为高端美容仪器的核心动力源。通过对比传统电机,揭示了其无铁芯、低惯量、零齿槽效应的技术优势,从而实现了强劲动力、极致静音与细腻震动的用户体验。文章详细阐述了空心杯电机在洁面刷、导入仪等美容仪器中的具体应用与选型考量,并指出了开发中驱动匹配、测试等关键实战要点。

j2k3l4的博客 1013

《Android开发偶遇有趣算法问题》---获得地图方圆r米内的一个随机坐标点(求单位圆内随机点)

实际解决问题 高德地图,百度地图求方圆五米内的一个随机经纬度 方案一 随机产生(x,y) x2∗y2≤R2x^{2}*y^{2} \le R^{2}x2∗y2≤R2 去除不在圆内的点 public LatLng getRandomLatLng(LatLng point) { Random random = new Random(); double cirx = point.lati...

IT痴者 2018

Python 爬虫实战:抓取百科网站上某个词条的详细信息

百科网站(如维基百科)为用户提供了丰富的知识内容,涵盖了从历史、文化到科技等几乎所有领域的知识。对于需要大量数据进行分析、研究或机器学习项目的开发者而言,抓取这些网站的数据显得尤为重要。通过编写一个 Python 爬虫,我们能够轻松地抓取百科网站上的某个词条及其详细信息,从而获取并整理这些知识内容。本篇博客将深入介绍如何通过 Python 编写爬虫来抓取百科网站(如维基百科)的某个词条的详细信息,包括标题、正文内容、参考文献等。requests:发送 HTTP 请求,获取页面内容。

2201_76125261的博客 1671

Android 中一些常用类的常用方法(Math、Random、Color、Paint、Canvas、Bitmap、BitmapFactory)...

1.java.lang.Math类常用的常量和方法: Math.PI 记录的圆周率 Math.E 记录e的常量 Math.abs 求绝对值 Math.sin 正弦函数 Math.asin 反正弦函数 Math.cos 余弦函数 Math.acos 反余弦函数 Math.tan 正切函数 Math.atan 反正切函数 Math.atan2 商的反正切函数 Math.toDegr...

weixin_33901926的博客 279

2025华为杯第二十二届中国研究生数学建模竞赛D题:低空湍流监测及最优航路规划 - 完整解题分析+完整MATLAB源码!(下篇)

🎓 本文收录于 《滚雪球学数学建模》专栏,本专栏专注于从零基础出发,带你循序渐进掌握数学建模的核心方法与思维路径。通过“滚雪球式”学习法,从最简单的生活化案例到经典建模工具,再到省赛、国赛真题实战演练,逐步积累知识与技能,帮助你搭建完整的建模体系。无论你是刚接触建模的新生,还是希望提升科研与竞赛能力的学者与工程师,本专栏都将为你提供一条清晰、高效、可实操的建模成长路线,助力你快速进阶,突破难点,迈向数学建模竞赛与实际应用的更高峰 🚀!

**My Coding Family** 1625

【GameFramework框架内置模块】9、有限状态机(FSM)

这篇文章分享FSM有限状态机,了解过StarForce源码的同学相比都比较了解,GameFramework框架给我们抽象了一个Procedure流程的概念。这个Procedure流程可以方便的处理我们游戏从启动到游戏的各个流程阶段的处理逻辑,实现的核心就是FSM状态机,内部的Procedure流程就是不同的FsmState状态。接下来,就是FSM有限状态机的教程了。有限状态机(Finite-state machine,FSM)

优快云博客专家,Unity3D高级软件工程师,《Unity 3D从入门到实战》作者。 2533

android获取随机颜色_Android编程实现随机生成颜色的方法示例

本文实例讲述了android编程实现随机生成颜色的方法。分享给大家供大家参考,具体如下:网上有个colorpicker开源项目,选择颜色值。而在这里我想实现的是动态修改一个view的背景色。开一个线程,每隔1s修改一次view的背景色。我们知道在android里设置一个view的背景色有framelayout.setbackgroundcolor(color.parsecolor("#"+arg0...

weixin_39928099的博客 465

从你的全世界路过---陌陌X-SIGN还原

我们上期介绍了hook 接口方式,今天我分析so 层。学习是为了复杂的事情简单化。不用如此繁琐。跟进native_sdbyecbu37x这个函数,我们f5看伪代码 v13 = sign(v9, v10, v11, a6); 跟进这个函数 代码如下(示例): 2.代码贴入 SHA消息摘要java代码如下: java 代码如下(示例): 总结 算法,结合动态调试!

任雪飘的博客 2303

Android使用Math.Random获取随机的颜色值

项目中的标签要显示不同的颜色,真是扯淡啊关于标签的使用(更改样式很容易)http://blog.csdn.net/qq_21036939/article/details/50675612public class ColorRandom { public static void main(String arg[]){ int num=(int) (Math.random()*16

qq_21036939的博客 2495

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

android Random的使用

一、Random 此类的实例用于生成伪随机数流。此类使用 48 位的种子,使用线性同余公式 (linear congruential form) 对其进行了修改。如果用相同的种子创建两个 Random 实例,则对每个实例进行相同的方法调用序列,它们将生成并返回相同的数字序列。为了保证此属性的实现,为类 Random 指定了特定的算法。为了 Java 代码的完全可移植性,Java...

HUNTER201508的博客 274

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

java中Math.random()与java.util.random()的区别

<br />今天突然想起来,java产生随机数的问题,上机试了一下,找到了一点区别,在这里总结一下;<br />直接调用Math.random()是产生一个[0,1)之间的随机数,<br />如果用<br />java.util.Random random=new Random();random.nextInt()这样产生一个长整型的随机数并且与上一次是一样的,如果过一会再产生就不会一样了,例如:<br />   for (int i = 0; i < 10; i++) {<br />   Random r

人生百年几今日,今日不为真可惜。 4万+

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

android 随机负数,Android编程实现随机生成颜色的方法示例

Android编程实现随机生成颜色的方法示例发布时间:2020-10-20 19:48:26来源:脚本之家阅读:95作者:fancylovejava本文实例讲述了Android编程实现随机生成颜色的方法。分享给大家供大家参考,具体如下:网上有个ColorPicker开源项目,选择颜色值。而在这里我想实现的是动态修改一个view的背景色。开一个线程,每隔1s修改一次view的背景色。我们知道在And...

weixin_39805529的博客 310

System、Runtime、Date、Math、Random类

System、Runtime、Date、Math、Random 一、System 用于获取系统的属性 常用方法: arraycopy(Object src, int srcPos, Object dest, int destPos, int length) src 源数组。 srcPos 源数组中的起始位置。 dest 目标数组。 destPos 目标数据中的起始位置。 length 要复制的数...

hongcaixia的博客 377

获取随机日期

package com.test; import java.text.SimpleDateFormat; import java.util.Date; public class DateRandom {  // 返回2007-01-01到2007-03-01的一个随机日期  public static void main(String[] args) {   Date randomDa

Junit的博客 719

android Math算法

Math类对应方法调用

qq_53634452的博客 1260

Java 基础之 Random类和Math.random()方法

Random类 import java.util.Random; public class randomTest { public static void main(String args[]) { Random random=new Random();//以系统当前时间作为随机数生成的种子 System.out.println(random.nextInt(10));//返回一个大于0且小于10的整数 System.out.println

梁同学与Android 260

Android中一些常用类的常用方法(Math、Random、Color、Paint、Canvas、Bitmap、BitmapFactory)

1.java.lang.Math类常用的常量和方法: Math.PI 记录的圆周率 Math.E 记录e的常量 Math.abs 求绝对值 Math.sin 正弦函数 Math.asin 反正弦函数 Math.cos 余弦函数 Math.acos 反余弦函数 Math.tan 正切函数 Math.atan 反正切函数 Math.atan2 商的反正切函数 Math.to

Liyunlong 1518
上一篇: ViewPager使用中的一些小问题
下一篇: 【转】android UI 相关常用类简介
fancylovejava
博客等级 码龄16年 1052粉丝 184原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值