pull/1890/head
parent
8b2dee847c
commit
f0bb7ce4b0
@ -0,0 +1,61 @@ |
||||
package io.legado.app.utils |
||||
|
||||
import android.graphics.Color |
||||
import java.util.* |
||||
|
||||
@Suppress("unused") |
||||
class RandomColor(alpha: Int, lower: Int, upper: Int) { |
||||
|
||||
constructor() : this(255, 80, 200) |
||||
|
||||
private var alpha: Int = 0 |
||||
private var lower: Int = 0 |
||||
private var upper: Int = 0 |
||||
|
||||
init { |
||||
require(upper > lower) { "must be lower < upper" } |
||||
setAlpha(alpha) |
||||
setLower(lower) |
||||
setUpper(upper) |
||||
} |
||||
|
||||
//随机数是前闭 后开 |
||||
fun build(): Int { |
||||
val red = getLower() + Random().nextInt(getUpper() - getLower() + 1) |
||||
val green = getLower() + Random().nextInt(getUpper() - getLower() + 1) |
||||
val blue = getLower() + Random().nextInt(getUpper() - getLower() + 1) |
||||
return Color.argb(getAlpha(), red, green, blue) |
||||
} |
||||
|
||||
private fun getAlpha(): Int { |
||||
return alpha |
||||
} |
||||
|
||||
private fun setAlpha(alpha: Int) { |
||||
var alpha1 = alpha |
||||
if (alpha1 > 255) alpha1 = 255 |
||||
if (alpha1 < 0) alpha1 = 0 |
||||
this.alpha = alpha1 |
||||
} |
||||
|
||||
private fun getLower(): Int { |
||||
return lower |
||||
} |
||||
|
||||
private fun setLower(lower: Int) { |
||||
var lower1 = lower |
||||
if (lower1 < 0) lower1 = 0 |
||||
this.lower = lower1 |
||||
} |
||||
|
||||
private fun getUpper(): Int { |
||||
return upper |
||||
} |
||||
|
||||
private fun setUpper(upper: Int) { |
||||
var upper1 = upper |
||||
if (upper1 > 255) upper1 = 255 |
||||
this.upper = upper1 |
||||
} |
||||
|
||||
} |
Loading…
Reference in new issue