美文网首页Android日记
设置随机颜色的两个方法

设置随机颜色的两个方法

作者: 赵者也 | 来源:发表于2017-01-01 10:05 被阅读0次

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

        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.haomeiwen.com/subject/iuzbvttx.html