El Arsenal de Android – Colores

? Una manera fácil de aplicar gradaciones y colores para Android.

Descargar

Grado

Agregue un código de dependencia a su archivo del módulo

build.gradle .


 Implementación   " com.github.skydoves: rainbow: 1.0.1 " 
} 

Uso

Podemos aplicar fácilmente gradaciones y coloraciones a cualquier vista usando Clase Rainbow .

Paleta

La expresión paleta lambda recoge los colores para crear la gradación. Podemos recolectar colores usando Debería usarse con el operador + en la expresión lambda de la paleta. contextColor obtiene un color de recurso de su archivo colors.xml y el color obtiene un color ColorInt.
contextColor y funciones de color.

  Rainbow  (myCardView) .palette {   crea una paleta para recolectar colores. 
    +  contextColor ( R  .color.red_200)   //  obteniendo un color del recurso 
    +  contextColor ( R  .color.yellow_200)
 +  contextColor ( R  .color.green_200)
 +  contextColor ( R  .color.blue_200)
 +  color ( Color .  BLANCO )   //  que obtiene un color 
} .withAlpha ( 225 )   //  conjunto alfa (0 ~ 255) 
.foreground ()   //  aplicar las gradaciones a myCardView 

Aquí hay una forma de extender el kotlin para aplicar las gradaciones utilizando el método View.rainbow () a las vistas.

  myLinearLayout. arcoiris (). paleta {
 +  contextColor ( R  .color.skyBlue)
 +  contextColor ( R  .color.colorPrimary)
} .background (orientación  =    RainbowOrientation .  TOP_BOTTOM  radio  =    8 ) 

Fondo, primer plano

Podemos aplicar gradaciones compuestas con los colores de la paleta al fondo o primer plano de la vista. El método forground () se puede aplicar a su CardView o algo así.

   Rainbow  (myCardView) .palette {
 +  contextColor ( R  .color.red_200)
 +  contextColor ( R  .color.yellow_200)
} .background ()  o  .foreground () 

Y podemos controlar la orientación del gradiente y el ángulo de la esquina. Podemos usar 8 tipos de orientación que RainbowOrientation.

  fondo (orientación  =    RainbowOrientation .  RIGHT_LEFT  radio  =    8 )
fondo (orientación  =    RainbowOrientation .  TOP_BOTTOM  radio  =    8 )
primer piso ( RainbowOrientation .  DIAGONAL_TOP_LEFT   8 )
primer plano ( RainbowOrientation .  DIAGONAL_BOTTOM_RIGHT   8 ) 

Tinta

Podemos cambiar algunos tipos de colores del color de la vista que pueden aplicarse teñidos. Aquí hay algunas vistas que se pueden aplicar: ColorView (dibujable), ImageView, CompoundButton, TintableBackgroundView.

   Rainbow  (myCheckBox). Paleta {
 +  contextColor ( R  .color.red_200)
} .tint () 

Drawable

Podemos obtener un GradientDrawable usando getDrawable .

   val  dibujable  =    Rainbow  (myCheckBox) .palette {
 +  contextColor ( R  .color.red_200)
 +  contextColor ( R  .color.yellow_200)
} .getDrawable () 

RainbowView

RainbowView es una vista sombreada para la implementación de gradación. Agregue el siguiente espacio de nombres XML en su archivo de diseño XML.

  xmlns : aplicación  =    " http://schemas.android.com/apk/res-auto "  

]

RainbowView en formato xml

  <  com.skydoves.rainbow.RainbowView 
    android : id : id    " @ + id / rainbow  "
  android : layout_width  =   "  match_parent  7]  android : layout_height  =    " match_parent " 
  aplicación : rainbowView_colors [194590256] [194590256] ] " @ array / colors "      //  degradado de colores 
    aplicación : rainbowView_orientation  =    " left_right "     //  orientación de degradado. [19659049] aplicación : rainbowView_radius  =    " 12dp "     //  radio de la esquina. 
 ]> 

Tha rainbowView_colors obtiene la lista de colores del conjunto de colores de colors.xml .

  < recursos > 
    < nombre del color  =    " colorPrimary "  >  #  ] C51162   <]  color > 
    .. .
 < matriz de nombres  =    " colores "  > 
      < elemento >   @ color / red_100  [19659076]  < elemento > [19659048] @ colore / orange_100  [19659076]  < elemento > [19659048] @ color / yellow_100  
      < elemento > [19659048] @ colore / green_100  
      .. .
 <  /  matriz > 
  <  /  recursos >  

BinaryRainbowView

BinaryRainbowView es una vista de degradado para l & # 39, la implementación de una vista simple con gradaciones.

  <  com.skydoves.rainbow.BinaryRainbowView 
    android : layout_width  =  [196590006]  " match_parent ] 19659  android : layout_height  =    " 80dp " 
  aplicación : binaryRainbowView_startColor [1945906] [1945906]  [1945906] [1945906] [1945906] [1945906]  " @ color / md_green_100  [ [ [ [ [ ]    //  color degradado inicial 
    aplicación : binaryRainbowView_centerColor [1945902525]] " @ color / white "    ]   //  centra el color del degradado. 
    aplicación : binaryRainbowView_endColor  =  [19659006]  " @ color / skyBlue "      //  color final del gradiente. 
    aplicación : binaryRainbowView_orientation  = [1945902525] [1945902525]  bottom_top  "    //  orientación de gradiente. 
    aplicación : binaryRainbowView_radius  =   " 12dp      //  radio de esquina 
  / [19659072]>  

Shuffle

RainbowView y BinaryRainbowView mezclando los colores de la paleta usando el método shuffleColors () . La gradación se modificará aleatoriamente.

Uso en Java

Aquí hay algunos usos para los desarrolladores de Java.

  nuevo    Rainbow  (myView)
.addContextColor ( R [19659048].  color .  red_100)
.addContextColor ( R [19659048].  color .  naranja_100)
.addContextColor ( R [19659048].  color .  amarillo_100)
.addContextColor ( R [19659048].  color .  verde_100)
.withAlpha ( 255 )
.background ( RainbowOrientation .  RIGHT_LEFT   8 ); 

¿Le fue útil esta biblioteca? ❤️

Apoyarlo uniéndose a observadores para este repositorio. ⭐️

  Copyright 2019 skydoves (Jaewoong Eum)

Licencia otorgada bajo la licencia Apache, Versión 2.0 (la "Licencia");
no es posible usar este archivo excepto de acuerdo con la Licencia.
Se puede obtener una copia de la Licencia de la dirección

http://www.apache.org/licenses/LICENSE-2.0

A menos que sea requerido por la ley aplicable o acordado por escrito, el software
distribuido bajo la Licencia se distribuye "TAL CUAL",
SIN GARANTÍAS O CONDICIONES DE NINGÚN TIPO, explícitas o implícitas.
Ver Licencia para permisos específicos de idioma e
limitaciones bajo la Licencia. 

.

Compruebe también

Las principales aplicaciones de salud y fitness lanzan integraciones de Health Connect

Publicado por Sara Hamilton, relaciones con los desarrolladoresA principios de este año, presentamos Health Connect …

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *