Hai Guys, pada post kali ini kita bahas mengenai aturan dimens pada Android. Mungkin biasanya teman-teman membuat layout dengan harcode dp, sebenarnya yang dianjurkan adalah Kamu menggunakan penyimpanan ukuran pada file dimens.xml
<Switch
android:id="@+id/round_up_switch"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:checked="true"
android:text="Round up tip?"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="@id/tip_options"
app:layout_constraintTop_toBottomOf="@id/tip_options" />
Code disana mungkin tidak terlihat kekurangannya ya, namun bagaimana klo kita ubah seperti ini :
<Switch
android:id="@+id/round_up_switch"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:checked="true"
android:text="Round up tip?"
android:margin="16dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="@id/tip_options"
app:layout_constraintTop_toBottomOf="@id/tip_options" />
Disana kita menambahkan attribut margin, sekarang kamu bayangkan aplikasi kita dirunning dibeberapa tempat misalnya tab dengan ukuran layar 1024×768, 1024×600 ataupun yang lebih besar misalnya 2560×1800, tentu hasilnya tidak akan sama. Bagaimana cara agar viewnya tetap terjaga lebih bagus? ya caranya adalah dengan memindahkan 16dp ke file dimens yang sesuai dengan layar. Misalnya seperti ini :
Device | Ukuran Layar | Dimens |
7 inchi | 1024×600 | sw600dp |
8 inchi | 1024×768 | sw1000dp |
9 inchi | 2560×1800 | sw800dp |
Kemudian teman-teman bisa membuat table ukuran 16dp itu berapa disetiap layar, misalnya seperti ini :
Dimens | sw600dp | sw1000dp | sw800dp |
16dp | 16dp | 32dp | 64dp |
18dp | 18dp | 34dp | 66dp |
Tentu saja table file dimens ini hanyalah sample ya, teman-teman bisa coba sesuaikan berdasarkan UI dari TIM PRODUCT karena saya yakin, kebutuhan teman-teman tidak akan sama dengan kebutuhan saya.
Terimakasih dan Semoga Bermanfaat