Hi dev, problem ini adalah pengalaman baru saya selama berkutat di project Android App. Hal aneh apakah itu? jadi begini, pada akhirnya saya harus deal with different dimension. Mulanya adalah ketika bos saya meminta agar aplikasi yang saya kembangkan dapat beradaptasi dengan populasi Android 6.0 Marshmallow (API 23) yang mana, rata-rata device dengan OS ini adalah berdimensi dibawah 5.8 inch, yang artinya konten activity saya harus responsive terhadap dimensi itu, maka saya harus membuatnya dapat di scroll, contoh studi case saat itu adalah untuk formulir dengan filed yang lumayan banyak, tapi no problem jika itu di dimensi 5.9 inch atau 6 inch, contentnya fix atau pass pada dimensi itu, tidak perlu scroll.
Oke, semua ulasan diatas itu sebenarnya tidak menjadi masalah, yang jadi masalah adalah, ketika saya implementasikan komponen ScrollView, halaman formulir saya malah jadi tampak setengah, dalam istilah jawa kontennya "MLOTROK", jadi scroll tidak dimulai dari atas (secara default kenapa jadi scroll 20%), atau dengan kata lain konten paling atas tidak tampil untuk pertamakalinya, sehingga user harus scroll ke atas dulu baru bisa mulai mengisi formuir di paling atas. Saya pikir ini bakal merusak UX app saya, meskipun UI nya bagus, tapi kalo behaviornya seperti ini bakal buruk untuk pengguna.
Saya sempat mencoba berbagai cara seperti mainScrollView.pageScroll(View.FOCUS_UP)
, scrollTo(0,0)
, scrollDirection(View.FOCUS_UP)
, dan masih banyak lagi method-method yang relevan yang saya terapkan, tapi semua itu tidak membuahkan hasil.
Tapi pada akhirnya jurus google fu saya membuahkan hasil, dan ini dia solusinya.
//solved make scroll view beginning at top
scroll_home.fullScroll(ScrollView.FOCUS_UP)
scroll_home.smoothScrollTo(0,0)
Beres!