亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Android編程實現隨機生成顏色的方法示例

發布時間:2020-10-20 19:48:26 來源:腳本之家 閱讀:309 作者:fancylovejava 欄目:移動開發

本文實例講述了Android編程實現隨機生成顏色的方法。分享給大家供大家參考,具體如下:

網上有個ColorPicker開源項目,選擇顏色值。而在這里我想實現的是動態修改一個view的背景色。

開一個線程,每隔1s修改一次view的背景色。

我們知道在Android里設置一個view的背景色有

framelayout.setBackgroundColor(Color.parseColor("#"+arg0.obj));

就是用android的Color類去解析一個帶#號的十六進制色值。現在要做的是動態隨機獲取這個16進制色值。

Java給我們提供了兩種方法獲取隨機數:

一、使用Random類

通過Random類來產生一個隨機數,這個是專業的Random工具類,功能強大。

前面有篇文章講的比較詳細https://www.jb51.net/article/45886.htm

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:這里再為大家推薦幾款相關的顏色工具供大家參考使用:

RGB顏色編碼生成器:
http://tools.jb51.net/color/rgb_color_generator

RGB顏色查詢對照表_顏色代碼表_顏色的英文名稱大全:
http://tools.jb51.net/color/jPicker

在線網頁調色板工具:
http://tools.jb51.net/color/color_picker

在線顏色選擇器工具/RGB顏色查詢對照表:
http://tools.jb51.net/color/colorpicker

更多關于Android相關內容感興趣的讀者可查看本站專題:《Android開發入門與進階教程》、《Android布局layout技巧總結》、《Android視圖View技巧總結》、《Android編程之activity操作技巧總結》、《Android操作json格式數據技巧總結》、《Android資源操作技巧匯總》及《Android控件用法總結》

希望本文所述對大家Android程序設計有所幫助。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

鸡西市| 延川县| 宁蒗| 调兵山市| 白水县| 云霄县| 遂川县| 阳西县| 洛南县| 买车| 明星| 湾仔区| 娄烦县| 枞阳县| 海安县| 唐山市| 常宁市| 永年县| 襄樊市| 清河县| 澄江县| 进贤县| 太白县| 禄劝| 阳新县| 灵台县| 唐海县| 宁安市| 荔浦县| 雅安市| 乐陵市| 道孚县| 西林县| 济源市| 兴安县| 泸州市| 确山县| 梁山县| 思茅市| 新晃| 保靖县|