Skip to content

Instantly share code, notes, and snippets.

@alexshr
alexshr / SnackBarLiveEvent.kt
Last active August 7, 2019 18:00
LiveEvent sample (for snackbar)
/**
* Snackbar LiveEvent
* (see https://github.com/hadilq/LiveEvent)
* This is private because we don't want to expose setting this value to the Fragment.
*/
private val snackBarEvent = LiveEvent<String>()
val showSnackBarEvent: LiveData<String> = snackBarEvent
//https://github.com/hadilq/LiveEvent
@alexshr
alexshr / SnackbarAnko.kt
Last active August 7, 2019 17:57
show snackbar (using anko view extension)
// Observe snackbar event
sleepTrackerViewModel.showSnackBarEvent.observe(this, Observer {
binding.clearButton.snackbar(it)
})
//Anko
implementation "org.jetbrains.anko:anko-commons:$version_anko"
implementation "org.jetbrains.anko:anko-design:$version_anko" // For SnackBars
@alexshr
alexshr / GetFragmentViewModel.kt
Last active August 11, 2019 01:53
Get ViewModel scoped to this Fragment (fragment-ktx)
//my sample
//https://github.com/alexshr/android-kotlin-fundamentals-apps/tree/master/MarsRealEstateFinal
//doc
//https://developer.android.com/reference/kotlin/androidx/fragment/app/package-summary#viewmodels
version_fragment = '1.2.0-alpha01'
implementation "androidx.fragment:fragment-ktx:${version_fragment}"
--------------------------------------------------------------------------------------
@alexshr
alexshr / LiveEventNavigation.kt
Last active August 12, 2019 01:21
Navigation using LiveEvent subscription
sample:
https://github.com/alexshr/android-kotlin-fundamentals-apps/tree/master/MarsRealEstateFinal
---------------------------------------------
//https://github.com/hadilq/LiveEvent
implementation "com.github.hadilq.liveevent:liveevent:1.0.1"
-----------------------------
ViewModel:
/**
@alexshr
alexshr / DataBindingKTX
Last active April 18, 2020 19:58
fragment binding delegate
allprojects {
repositories {
.......
maven { url "https://jitpack.io" }
}
--------------------
//ext lib
implementation 'com.github.wada811:DataBinding-ktx:2.0.2'
-------------------------------------