アプリ開発備忘録

PlayStationMobile、Android、UWPの開発備忘録

ViewBindingUtil+Kotlin Delegationを公開しました。

ViewBindingUtilを公開しました。
DataBindingのようなDataBindingUtilが無いので作りました。

使い方

dependencies

jitpackに上がってます

repositories {
  maven { url 'https://jitpack.io' }
}
dependencies {
  implementation 'com.github.matsudamper:ViewBindingUtil:${version}'
}

code

ジェネリクスから作成できるようになりました。

// ジェネリクスを使用して生成できます
ViewBindingUtil.inflate<ActivityMainBinding>(layoutInflater)

// ジェネリクスを使用してbindできます
ViewBindingUtil.bind<ActivityMainBinding>(view)

// Activity やFragmentでinflate時にlayoutInflaterがいらない拡張関数。
binding : HogeBinding = inflateViewBinding()

主にこれがやりたかった。

// Activityの引数にidを渡すやつに対応
class SampleActivity : AppCompatActivity(R.layout.activity_main) {
    private val binding by bindViewBinding<ActivityMainBinding>()
}

// Fragmentに対応、Viewの再生成も考慮してあります
class SampleFragment : Fragment(R.layout.fragment_main) {
    private val binding by bindViewBinding<FragmentMainBinding>()
}

P.S.

配信の手段でGitHub PackagesとかあるけどJitPackは楽でいいね。Gradleに記述するだけ。