Improve Detail Aplikasi Kaskus (2)

Mungkin hanya beberapa orang saja yang memperhatikan, saat anda mulai melakukan pencarian melalui aplikasi KasKus for Android; Searchbox akan melakukan animasi expand begitu anda touch searhbox tersebut, dan melakukan animasi shrink saat anda batal melakukan pencarian.

searchbox_anim

 

Ini sebenarnya diimplementasikan menggunakan teknik yang sangat sederhana. Yang perlu dilakukan adalah men setting atribut layout agar beranimasi saat perubahan layout android:animateLayoutChanges=”true”, setalah itu layout searchbox saya berikan bobot 1 (android:layout_weight=”1) sehingga dia selalu berusaha memenuhi seluruh bagian layout; dan akhirnya saya tinggal memainkan visibility state button cancel-nya antara View.VISIBLE dan View.GONE; saat button cancel di remove dari layout (View.GONE) secara otomatis SearchBox akan berusaha memenuhi seluruh bagian layout, dan sebaliknya saat button cancel ditambahkan dalam layout (View.VISIBLE) secara otomatis SearchBox akan shrink untuk memberi tempat pada Button cancel tersebut. Kurang lebih seperti ini implementasinya:

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:animateLayoutChanges="true"
            android:orientation="horizontal"
            android:paddingLeft="5dp"
            android:paddingRight="5dp" >

            <EditText
                android:id="@+id/searchbox"
                android:hint="@string/search_hint"
                android:layout_weight="1"
                android:imeOptions="actionSearch" />

            <Button
                android:id="@+id/cancel"
                android:text="@string/cancel"
                android:visibility="gone" />
        </LinearLayout>

tentu saja teknik ini ada kekurangannya, karena android:animateLayoutChanges=”true” baru dikenali mulai dari Honeycomb; tapi ini teknik simple yang menurut saya bisa menambah menarik aplikasi kita :)

happy coding :)

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s