-
Notifications
You must be signed in to change notification settings - Fork 2
Resource
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)
}
}