10 articles Layouting

Expandable DropDown with Multiple Selection

Artikel kali ini saya akan membahas salah satu custom view kembali yaitu mengenai Dropdown yang didalamnya kurang lebih memiliki fitur tambahan seperti Transition animasi saat expanded dan collapsed, multiple selection didalam satu dropdown yang me-return collection dan view ini bukan merupakan turunan dari spinner seperti yang biasanya digunakan Android Developer umumnya namun menggunakan RecyclerView yang…

Reveal Animation Transition between Fragments (from and to specific coordinate position)

Dikarenakan UX di aplikasi akhir-akhir ini dirasa cukup penting maka saya rasa perlu saya tulis di KB juga sekaligus sebagai pengingat pribadi. Pertama untuk memudahkan kita buat model untuk konfigurasi animasi transisinya : RevealAnimationConfig class : Pada data class diatas terdapat 4 variabel untuk menentukan posisi / koordinat dimana transisi harus “dimulai (saat membuka fragment)”…

Optimize more Swiping behavior in View Pager

ViewPager merupakan salah satu LayoutManager yang memungkinkan pengguna untuk membalik ke kiri dan kanan suatu halaman yang berisi data-data. Anda membutuhkan implementasi PagerAdapter untuk dapat menghasilkan halaman yang akan ditampilkan. Untuk penjelasanya mungkin tidak terlalu dibutuhkan disini karena Anda pasti sudah sering mengimplementasikanya (jika ingin membaca lebih), namun disini saya akan lebih membahas ke arah…

Custom Layout for Push Notification with multiple click & Collapsed-Expanded Notification

Walaupun sebenarnya dari pihak Google sudah menyediakan beberapa design untuk digunakan seperti yang telah dituliskan pada laman mereka. Namun terdapat beberapa kekurangan saat ingin mengimplementasikanya agar dapat kompatibel dengan beberapa API berbeda. Dan beberapa bagian yang disupport untuk semua API hanya terdapat beberapa saja, diantaranya : Ikon kecil: Ini diperlukan dan disetel dengan setSmallIcon(). Nama aplikasi:…

Android ListView Layout with Custom Data

activity_main.xml [code lang=”xml”] <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.rekadia.simpleapps.HttpExampleActivity" > <!–<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"–> <!–xmlns:tools="http://schemas.android.com/tools"–> <!–android:layout_width="match_parent"–> <!–android:layout_height="wrap_content"–> <!–tools:context="com.rekadia.simpleapps.HttpExampleActivity"–> <!–android:orientation="horizontal" >–> <!–<EditText android:id="@+id/myUrl"–> <!–android:layout_weight="1"–> <!–android:layout_width="0dp"–> <!–android:layout_height="wrap_content"–> <!–android:hint="@string/myUrl" />–> <!–<Button–> <!–android:layout_width="wrap_content"–> <!–android:layout_height="wrap_content"–> <!–android:text="@string/button_fetch"–> <!–android:onClick="myClickHandler" />–> <!–</LinearLayout>–> <android.support.v4.widget.SwipeRefreshLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/swipe_container" android:layout_width="match_parent" android:layout_height="match_parent" > <ListView android:id="@+id/list" android:fadingEdge="vertical" android:fadingEdgeLength="10dp" android:longClickable="true" android:layout_width="match_parent" android:layout_height="match_parent" > </ListView> </android.support.v4.widget.SwipeRefreshLayout> <TextView android:id="@+id/empty" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:text="Loading feed…