Skip to content

Instantly share code, notes, and snippets.

View SeongUgJung's full-sized avatar

Steve SeongUg Jung SeongUgJung

View GitHub Profile
class MainViewModel(private val layoutCenterViewUsecase : LayoutCenterViewUsecase) {
val centerY = ObservableInt()
init {
layoutCenterViewUsecase.observe()
.subscribe { y : Int ->
centerY.set(y)
}
}
@BindingAdapter({"bindUri", "bindImageLoader"}, requireAll = true)
fun loadImage(view: ImageView, uri : String, imageLoader : ImageLoader) {
imageLoader.load(uri).into(view)
}
@SeongUgJung
SeongUgJung / 01_main.xml
Last active August 27, 2018 15:42
drawable from resource
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
>
<data>
<variable
name="vm"
type="MainViewModel"
@SeongUgJung
SeongUgJung / mvvmtest.kt
Last active August 26, 2018 15:26
test resourceProvider
class MainViewModelTest {
private lateinit var vm : MainViewModel
private lateinit var resourcesProvider : ResourcesProvider
@Setup
fun init() {
resourcesProvider = mock(ResourcesProvider::class)
vm = MainViewModelImpl(resourcesProvider)
}
@SeongUgJung
SeongUgJung / 01_mvvm.kt
Last active August 26, 2018 15:26
resource provider
class MainViewModel(private val resourcesProvider: ResourcesProvider) {
val name = ObservableField()
fun click() {
name.set(resourceProvider.getString(R.string.name_title))
}
}
class MainViewModel {
val visible = ObservableBoolean(false)
}
@SeongUgJung
SeongUgJung / 01_RoundImageView.kt
Last active August 27, 2018 15:37
Custom View setter 이용
class RoundImageView : ImageView {
private radious : Int
fun setRadious(rad : Int) {
this.radious = rad
}
// 이하 생략
}
class MainViewModel {
val scaleAndAlpha = ObservableField<ScaleAlpha>()
fun imageClick() {
scaleAndAlpha.set(ScaleAlpha(1f,1f))
}
}
@SeongUgJung
SeongUgJung / ItemAdapter.kt
Created August 22, 2018 15:46
recycler adapter and data
class ItemAdapter : RecyclerView.Adapter() {
var items : List<Item> = emptyList()
}
@SeongUgJung
SeongUgJung / databinding.xml
Last active August 22, 2018 03:12
mvvm databinding
<?xml version="1.0" encoding="utf-8"?>
<layout
xmlns:android="http://schemas.android.com/apk/res/android">
<!-- 데이터바인딩 정의 -->
<data>
<variable
name="vm"
type="MainViewModel" />
</data>