Android XML Views

Implement ViewBinding, RecyclerView, and XML layouts correctly on Android. Use when changing XML view binding or RecyclerView behavior, including its item animations and layout managers; defer standalone animation or layout-manager questions unrelated to RecyclerView.

HoangNguyen0403 Updated 542 repo stars

File contents

Android XML Views Standards

Priority: P1 (HIGH)

Implementation Guidelines

ViewBinding

  • Standard: Use ViewBinding for all XML layouts.
  • Synthetics: kotlin-android-extensions Dead. Remove it.
  • KAPT: Avoid DataBinding unless strictly necessary (impacts build speed).

RecyclerView

  • Adapter: Always inherit ListAdapter (wraps AsyncListDiffer).
  • Updates: Provide proper DiffUtil.ItemCallback. NEVER call notifyDataSetChanged().

Layouts

  • ConstraintLayout: Use for complex flat hierarchies.
  • Performance: Avoid deep nesting (LinearLayout inside LinearLayout).

Anti-Patterns

  • No findViewById: Deprecated. Use ViewBinding for all XML layouts.
  • No kotlin-android-extensions: Deprecated. Remove all import kotlinx.android.synthetic.*.

References

  • ViewBinding & Adapter

HoangNguyen0403/agent-skills-standard/tree/main/skills/android/android-xml-views commit 3687307825

Frequently asked questions

npx skillmds@latest add hoangnguyen0403/android-xml-views