Tugas Progmob
Tugas Progmob
NIM : 1705551024
Tugas 2
Constraint Layout
Gambar 1.1 memperlihatkan cara mengubah Linear Layout menjadi Constraint Layout.
Caranya yakni pada bagian “Component Tree” lakukan klik kanan di “LinearLayout”, kemudian
pilih “Convert LinearLayout to ConstraintLayout” dan secara otomatis merubah Linear
Layout menjadi Constraint Layout.
b. Fitur Infer Constraints
Gambar 1.2 memperlihatkan cara menambahkan anchor point secara otomatis sehingga
object mendapat fungsi constraint.
Gambar 1.3 memperlihatkan cara menghapus semua anchor point pada object sehingga
object tidak lagi mendapat fungsi constraint.
d. Perpindahan Object Pada Layout
Gambar 1.4 memperlihatkan object yang belum diberikan constraint terhadap sisi
horizontal, start ataupun end. Object pada Gambar 1.4 akan kembali pada titik 0,0 saat program
dijalankan pada android.
Gambar 1.5 memperlihatkan object yang sudah diberikan constraint pada sisi bottom dan
end sehingga pada saat program dijalankan di android, object tidak akan berpindah posisi kembali
ke titik 0,0.
Gambar 1.6 memperlihatkan object yang diberikan fitur bias secara default sehingga
object akan berada tepat pada tengah layar android.
Gambar 1.7 Object Bias Custom
Gambar 1.7 memperlihatkan object yang telah diberikan fitur bias sehingga object tidak
lagi berada tepat pada tengah layar android.
Gambar 1.8 memperlihatkan width cara untuk merubah container pada object menjadi
wrap content dengan margin 0 pada semua sisi.
Gambar 1.10 memperlihatkan width cara untuk merubah container pada object menjadi
match constraint dengan margin 0 pada semua sisi.
Gambar 1.11 memperlihatkan cara mengubah besaran dari margin pada layout sehingga
semua object yang nantinya masuk ke dalam layout akan ber-margin 24dp.
Gambar 1.12 Hasil Perubahan Margin Layout ke Object
Gambar 1.12 memperlihatkan margin pada object yang baru dimasukkan ke dalam layout
berubah menjadi 24dp pada sisi start dan end layout.
Gambar 1.13 memperlihatkan object yang baru saja dimasukkan ke dalam layer tidak
dengan fungsi auto connect “off” akan nampak normal karena fitur auto connect secara default
berada pada posisi “off”.
Gambar 1.14 Turn On Autoconnect
Gambar 1.14 memperlihatkan object yang baru dimasukkan setelah auto connect berada
pada posisi “on” dan object yang baru dimasukkan harus berada pada tengah atas sehingga fitur
dari auto connect secara otomatis memberikan anchor point pada sisi start dan end dari layout.
Fitur auto connect tidak akan bekerja saat object yang dimasukkan tidak berada di tengah baik
tengah atas, tengah bawah, ataupun berada tepat pada tengah layout.
Gambar 1.16 memperlihatkan object_2 yang memberikan anchor point pada bagian end
dari object_1 sehingga object_2 akan menyesuaikan kebagian End dari object_1 dan mendapat
auto margin dari layout sebesar 24dp.
j. Fitur Align
Gambar 1.18 memperlihatkan object_1 dan object_2 telah dipilih atau di-select dengan
menggunakan cara menekan keyboard “shift” lalu klik kiri pada object menggunakan mouse.
Gambar 1.19 memperlihatkan object yang telah dipilih sebelumnya akan diberikan fitur
align berupa right edges pada bagian atas dari preview design android.
Gambar 1.20 Hasil Right Edges
Gambar 1.20 memperlihatkan hasil dari pemilihan align pada kedua object yang ada pada
layer, sehingga object_2 nampaknya hanya memberikan anchor pada bagian tengah dan end dari
object_1
2. Match Constraint, Baseline dan Ratio
Video kedua milik Coding in Flow memberikan penjelasan mengenai match constraint
antar object button, baseline antar object, dan ratio yang berhubungan dengan gambar. Berikut
adalah penjelasan dari bagian pada video kedua.
a. Match Constraint
Gambar 2.1 memperlihatkan terdapat tiga buah object button dimana object yang berada
dibawah memberikan anchor point kepada dua buah object diatasnya sehingga berada tepat
ditengah.
Gambar 2.3 memperlihatkan hasil dari perubahan wrap content menjadi match constraint
pada object pemberi anchor sehingga ukuran width dari object menyesuaikan dengan jarak kedua
object lainnya namun tetap dapat diberikan margin. Object yang diubah diberikan margin sebesar
8dp untuk sisi start dan end-nya.
Gambar 2.4 memperlihatkan salah satu anchor point pada object dihapuskan, sehingga
ukuran lebar dari object kembali pada bentuk semula.
Gambar 2.5 Anchor Point Object ke Layout
Gambar 2.5 memperlihatkan object sudah tidak lagi memberi anchor point pada object
lainnya namun kepada layout sisi start dan end. Lebar dari object sebelumnya sudah diatur pada
posisi match constraint sehingga object akan melebar seukuran layout dengan jarak margin
sebesar 8dp pada sisi start dan end.
Gambar 2.6 memperlihatkan cara mengubah default dari pelebaran object yang awalnya
spread menjadi wrap dengan menambahkan script
“app:layout_constraintWidth_default=""” lalu menambahkan wrap didalam petik dua.
Gambar 2.7 Tampilan Setelah Wrap
Gambar 2.7 memperlihatkan kedua object yang dijadikan parent lebih merapat sehingga
object child menjadi lebih di stretch kebawah. Match constraint dapat dikatakan sebagai efek
untuk menyesuaikan dengan container dari parent yang diberikan kepada child-nya.
b. Baseline
Gambar 2.8 memperlihatkan pembuatan dari tiga object yakni button, textview ukuran
normal, serta textview dengan ukuran yang lebih besar.
Gambar 2.9 Menampilkan Baseline
Gambar 2.9 memperlihatkan cara untuk menampilkan baseline dari sebuah object dengan
memilih atau men-select salah satu object lalu klik tombol yang terdapat huruf “ab” serta memiliki
titik-titik dibawahnya.
Gambar 2.10 Menarik Baseline
Gambar 2.11 memperlihatkan hasil setelah dilakukan penyesuaian sesuai dengan baseline
pada masing-masing object yang menjadikan object tengah sebagai referensi atau acuan dalam
posisi baseline object.
c. Ratio
Gambar 2.13 memperlihatkan layout width serta layout height dari object imageview yang
awalnya wrap content menjadi match constraint sehingga memenuhi layout.
Gambar 2.14 memperlihatkan object imageview diubah ratio-nya yang secara default
sebesar 1:1 menjadi 16:9 dengan meng-klik bagian ujung bentuk segitiga pada panel perubahan
anchor dibagian akan window android studio. Bagian text akan menambahkan script
“app:layout_constraintDimensionRatio="h,16:9"”, dimana “h” pada script tersebut
menjelaskan ratio gambar berada pada posisi height, dan jika “w” akan berarti posisi width.
Gambar 2.15 memperlihatkan hasil tampilan match constraint dan ratio dari object
imageview pada posisi android landscape. Tombol untuk menampilkan ratio pada object
imageview hanya akan terlihat saat layout width atau layout height ataupun keduanya diubah
menjadi match constraint dan tidak lagi wrap content. Namun saat salah satu atau bahkan
keduanya diubah kembali menjadi wrap content, ratio tetap pada pengaturan saat match constraint
dan container dari imageview akan mem-press kembali ke resource gambar seperti awal.