本文整理匯總了Java中android.support.v4.graphics.ColorUtils.HSLToColor方法的典型用法代碼示例。如果您正苦於以下問題:Java ColorUtils.HSLToColor方法的具體用法?Java ColorUtils.HSLToColor怎麽用?Java ColorUtils.HSLToColor使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類android.support.v4.graphics.ColorUtils
的用法示例。
在下文中一共展示了ColorUtils.HSLToColor方法的7個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。
示例1: shiftBrightness
import android.support.v4.graphics.ColorUtils; //導入方法依賴的package包/類
/**
* Darkens or lightens the color by the specified amount.
*
* @param color Which color to change
* @param amount Negative to darken, positive to lighten. Must be in range [-255, 255]
* @return The brightness-shifted color
*/
@ColorInt
public static int shiftBrightness(@ColorInt final int color, @IntRange(from = -255, to = 255) final int amount) {
if (amount == 0f) {
return color;
}
// convert from RGB to HSL (hue/saturation/lightness)
final float[] hsl = new float[] { 0f, 0f, 0f };
ColorUtils.colorToHSL(color, hsl);
// clamp the lightness to [0..1] range (0% - 100%)
float lightness = hsl[2] + amount / 255f;
if (lightness < 0f) {
lightness = 0f;
} else if (lightness > 1f) {
lightness = 1f;
}
hsl[2] = lightness;
final int a = Color.alpha(color);
final int result = ColorUtils.HSLToColor(hsl);
return ColorUtils.setAlphaComponent(result, a);
}
示例2: randomColor
import android.support.v4.graphics.ColorUtils; //導入方法依賴的package包/類
private int randomColor() {
float[] TEMP_HSL = new float[]{0, 0, 0};
float[] hsl = TEMP_HSL;
hsl[0] = (float) (Math.random() * 360);
hsl[1] = (float) (40 + (Math.random() * 60));
hsl[2] = (float) (40 + (Math.random() * 60));
return ColorUtils.HSLToColor(hsl);
}
示例3: darken
import android.support.v4.graphics.ColorUtils; //導入方法依賴的package包/類
/**
* Darken the argb color by a percentage.
*
* @param color the argb color to lighten.
* @param percent percentage to darken by, between 0.0 and 1.0.
*/
public static @ColorInt int darken(@ColorInt final int color, @FloatRange(from=0.0, to=1.0) final float percent) {
final float[] hsl = new float[3];
ColorUtils.colorToHSL(color, hsl);
hsl[2] -= hsl[2] * percent;
// HSLToColor sets alpha to fully opaque, so pluck the alpha from the original color.
return (color & 0xFF000000) | (ColorUtils.HSLToColor(hsl) & 0x00FFFFFF);
}
示例4: lighten
import android.support.v4.graphics.ColorUtils; //導入方法依賴的package包/類
/**
* Lighten the argb color by a percentage.
*
* @param color the argb color to lighten.
* @param percent percentage to lighten by, between 0.0 and 1.0.
*/
public static @ColorInt int lighten(@ColorInt final int color, @FloatRange(from=0.0, to=1.0) final float percent) {
final float[] hsl = new float[3];
ColorUtils.colorToHSL(color, hsl);
hsl[2] += (1.0f - hsl[2]) * percent;
// HSLToColor sets alpha to fully opaque, so pluck the alpha from the original color.
return (color & 0xFF000000) | (ColorUtils.HSLToColor(hsl) & 0x00FFFFFF);
}
示例5: adjustColorForStatusBar
import android.support.v4.graphics.ColorUtils; //導入方法依賴的package包/類
/**
* Calculate a darker variant of the given color to make it suitable for setting as the status
* bar background.
*
* @param color the color to adjust.
* @return the adjusted color.
*/
public static
@ColorInt
int adjustColorForStatusBar(@ColorInt int color) {
float[] hsl = new float[3];
ColorUtils.colorToHSL(color, hsl);
// darken the color by 7.5%
float lightness = hsl[2] * 0.925f;
// constrain lightness to be within [0–1]
lightness = Math.max(0f, Math.min(1f, lightness));
hsl[2] = lightness;
return ColorUtils.HSLToColor(hsl);
}
示例6: changeLightness
import android.support.v4.graphics.ColorUtils; //導入方法依賴的package包/類
private int changeLightness(int backgroundColor, float lightnessChange) {
ColorUtils.colorToHSL(backgroundColor, hsl);
hsl[2] *= lightnessChange;
return ColorUtils.HSLToColor(hsl);
}
示例7: createTintOrShade
import android.support.v4.graphics.ColorUtils; //導入方法依賴的package包/類
private @ColorInt int createTintOrShade(@ColorInt int color, float factor) {
float[] hsl = new float[3];
ColorUtils.colorToHSL(color, hsl);
hsl[2] *= factor;
return ColorUtils.HSLToColor(hsl);
}