El Arsenal de Android – Utils

Biblioteca de contenedor de recursos de Android.

TLDR

Cansado de escribir ContextCompact, resources es context en todas sus aplicaciones para acceder a sus recursos? No digas nada más.

implementation 'com.cioccarellia:kite:1.0.0'
  • ???? Acceda a todos los recursos de la aplicación con una sintaxis unificada.
  • ? Nivel de seguridad nulo entre el código java del marco de Android y la aplicación.
  • ???? Carcasa transparente y ligera.
  • ? Controles integrados ampliados.
  • Fácil de implementar en aplicaciones existentes.
  • ❤️ Alimentado por Kotlin, 100%.

Uso

Inicialice el objeto de cometa global (idealmente dentro de su Application class) y pasarle el contexto de la aplicación.

class App : Application() {

    companion object {
        lateinit var appContext: Context
        val kite by lazy { Kite.fly(appContext) }
    }

    override fun onCreate() {
        super.onCreate()
        appContext = this
    }
}

Todo esta listo. Solo importa el archivo kite objeto, seleccione lo que desea usar y acceda a él con notación entre paréntesis [].

// Kite
fab.rippleColor =         kite.color[R.color.md_light_lime]
fab.backgroundTintList =  kite.colorStateList[R.color.md_lime]
fab.text =                kite.string[R.string.ride]

// Standard
fab.rippleColor =         ContextCompact.getColor(appContext, R.color.md_light_lime)
fab.backgroundTintList =  ColorStateList.valueOf(R.color.md_lime)
fab.text =                appContext.getString(R.string.ride)

Recursos compatibles

Tipo de recurso Clase AAPT Espacio de nombres Entrada Producción Implementación API Variantes
instrumentos de cuerda R.string Kite.string @StringRes string: Int String Context.getString() / formatArgs
Plurales R.plurals Kite.plural @PluralRes plural: Int, quantity: Int String Resources.getQuantityString() / formatArgs
Textos R.string Kite.text @StringRes text: Int CharSequence Context.getText() / /
Color R.color Kite.color @ColorRes color: Int @ColorInt Color ContextCompat.getColor() / /
ColorStateLists R.color Kite.colorStateList @ColorRes colorStateList: Int ColorStateList ContextCompat.getColorStateList() / /
Dibujables R.drawable Kite.drawable @DrawableRes drawable: Int Drawable ContextCompat.getDrawable() / Resources.Theme?
Diseño R.layout Kite.layout @LayoutRes layout: Int XmlResourceParser Resources.getLayout() / /
Número entero R.integer Kite.integer @IntegerRes integer: Int Int Resources.getInteger() / /
Booleanos R.bool Kite.booleans @BoolRes boolean: Int Boolean Resources.getBoolean() / /
Dimensiones R.dimen Kite.dimension @DimenRes dimensions: Int Float Resources.getDimensions() / /
Fracciones R.fraction Kite.fraction @FractionRes fraction: Int, base: Int, pbase: Int Float Resources.getFraction() / /
Caracteres R.font Kite.font @FontRes font: Int Typeface Resources.getFont() 26 /
Animaciones R.anim Kite.animation @AnimRes animation: Int Animation AnimationUtils.loadAnimation() / /
Interpoladores R.interpolator Kite.interpolation @InterpolatorRes interpolator: Int Interpolator AnimationUtils.loadInterpolator() / /
IntArray R.array Kite.intArray @ArrayRes intArray: Int IntArray Resources.getIntArray() / /
StringArray R.array Kite.stringArray @ArrayRes stringArray: Int Array<out String> Resources.getStringArray() / /
TypedArray R.array Kite.typedArray @ArrayRes typedArray: Int TypedArray Resources.obtainTypedArray() / /
Identificadores R.id Kite.identifier name: String, defType: String, defPackage: String Int Resources.getIdentifier() / /
Xmls R.xml Kite.xml @XmlRes xml: Int XmlResourceParser Resources.getXml() / /
Raws R.raw Kite.raw @RawRes raw: Int InputStream Resources.openRawResource() / TypedValue

? Problemas conocidos

  • La anotación controla los parámetros de recursos (funciones que toman un valor anotado, como @ColorRes, @StringRes) no se ejecutan extensamente en Android Studio, cuando se utilizan las funciones del operador kotlin: creé un informe de error en el rastreador de problemas de Google aquí. Espero verlo arreglado pronto.
  • Después de {@link Build.VERSION_CODES # R}, {@link Resources} debe obtenerse de {@link android.app.Activity} o {@link android.content.Context} creado con {@link android.content.Context # createWindowContext (int, Bundle)}. {@link Application # getResources ()} puede informar valores incorrectos en varias ventanas o en pantallas secundarias.

.

About MiReal

Compruebe también

Blog para desarrolladores de Android: Android 12 Beta 5

Publicado por Dave Burke, vicepresidente de ingeniería ¡Solo faltan unas semanas para el lanzamiento oficial …

Deja una respuesta

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