设置随机颜色的两个方法

方法一,生成随机颜色,这种方法简单快速,但是容易产生一些自己不太满意的颜色,比如纯的黑色、白色等会与文本颜色一样的颜色,一种实现代码如下:

    static int randomColor(int alpha) {
        Random rnd = new Random();
        alpha = Math.min(Math.max(1, alpha), 255);
        return Color.argb(alpha, rnd.nextInt(256), rnd.nextInt(256), rnd.nextInt(256));
    }

方法二,事先在XML文件中定义好自己所需的颜色列表,之后随机选取其中的颜色,这种方法能更好的使用自己喜好的颜色,代码如下:

xml部分:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <color name="colorPrimary">#3F51B5</color>
    <color name="colorPrimaryDark">#303F9F</color>
    <color name="colorAccent">#FF4081</color>
    <color name="blue" type="color">#FF33B5E5</color>
    <color name="purple" type="color">#FFAA66CC</color>
    <color name="green" type="color">#FF99CC00</color>
    <color name="orange" type="color">#FFFFBB33</color>
    <color name="red" type="color">#FFFF4444</color>
    <color name="darkBlue" type="color">#FF0099CC</color>
    <color name="darkPurple" type="color">#FF9933CC</color>
    <color name="darkGreen" type="color">#FF669900</color>
    <color name="darkOrange" type="color">#FFFF8800</color>
    <color name="darkRed" type="color">#FFCC0000</color>

    <integer-array name="customizedColors">
        <item>@color/blue</item>
        <item>@color/purple</item>
        <item>@color/green</item>
        <item>@color/orange</item>
        <item>@color/red</item>
        <item>@color/darkBlue</item>
        <item>@color/darkPurple</item>
        <item>@color/darkGreen</item>
        <item>@color/darkOrange</item>
        <item>@color/darkRed</item>
    </integer-array>
</resources>

android使用部分

    static int getCustomizedColor(Activity activity) {
        int[] customizedColors = activity.getResources().getIntArray(R.array.customizedColors);
        int customizedColor = customizedColors[new Random().nextInt(customizedColors.length)];
        return customizedColor;
    }

以上,除了这两种方案之外,其实还可以通过自定义paint方法的方式来实现的。

参考文章:
http://stackoverflow.com/questions/5280367/android-generate-random-color-on-click
http://stackoverflow.com/questions/25923116/android-set-random-colour-background-on-create

    原文作者:赵者也
    原文地址: https://www.jianshu.com/p/e06f0287ecef
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞