Resource - Krunal-Kevadiya/kotlin-common GitHub Wiki

Resource bind methods can be used with Activity, Context, Fragment, support library Fragment, View, and ViewHolder subclasses. You can also implement ResourcesAware interface to provide a custom resources source. Full list of supported bindings:

  • bindResource<Boolean>(R.boolean.boolean_resource)

  • bindResource<Int>(R.integer.integer_resource)

  • bindResource<Int>(R.color.color_resource)

  • bindResource<ColorStateList>(R.color.color_resource)

  • bindResource<Drawable>(R.drawable.drawable_resource)

  • bindResource<Int>(R.dimen.dimen_resource)

  • bindResource<Float>(R.dimen.dimen_resource)

  • bindResource<String>(R.string.string_resource)

  • bindResource<CharSequence>(R.string.string_resource)

  • bindResource<IntArray>(R.array.array_resource)

  • bindResource<Array<String>>(R.array.array_resource)

  • bindResource<Array<CharSequence>>(R.array.array_resource)

  • In Activity use.

class ResourceActivity : AppCompatActivity() {
    // Boolean resource binding
    val boolean by bindResource<Boolean>(R.bool.boolean_resource)

    // Color resource binding
    val color by bindResource<Int>(R.color.colorAccent)

    // Drawable resource binding #1
    val bitmap by bindResource<BitmapDrawable>(R.mipmap.ic_launcher)

    // Drawable resource binding #2
    val vector by bindResource<VectorDrawable>(R.drawable.ic_close)

    // Dimension resource binding
    val dimension by bindResource<Float>(R.dimen._5ssp)

    // String resource binding
    val string by bindResource<String>(R.string.app_name)

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_resources)
        ............
    }
}
  • In Fragment use.
class ResourcesFragment : Fragment() {
    companion object {
        fun newInstance(): ResourcesFragment = ResourcesFragment()
    }

    // Boolean resource binding
    val boolean by bindResource<Boolean>(R.bool.boolean_resource)

    // Color resource binding
    val color by bindResource<Int>(R.color.colorAccent)

    // Drawable resource binding #1
    val bitmap by bindResource<BitmapDrawable>(R.mipmap.ic_launcher)

    // Drawable resource binding #2
    val vector by bindResource<VectorDrawable>(R.drawable.ic_close)

    // Dimension resource binding
    val dimension by bindResource<Float>(R.dimen._5ssp)

    // String resource binding
    val string by bindResource<String>(R.string.app_name)

    override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
        return inflater.inflate(R.layout.activity_resources, container, false)
    }
}
⚠️ **GitHub.com Fallback** ⚠️