Demo margin negatif:
Skenario
Tampilan tumpang tindih dengan menyetel margin negatif ke salah satunya sehingga menyerbu kotak pembatas tampilan lain.
Pikiran
Tampaknya berfungsi seperti yang Anda harapkan dengan tumpang tindih tata letak jika seharusnya. Tetapi saya tidak ingin mengalami masalah yang lebih besar karena tanpa sadar tidak melakukan sesuatu dengan benar. Emulator, perangkat fisik, sebut saja, ketika Anda menggunakan margin negatif semuanya tampak bekerja dengan benar, satu tampilan menyerang kotak pembatas tampilan lain dan bergantung pada bagaimana itu dinyatakan dalam tata letak itu akan berada di atas atau di bawah tampilan lain.
Saya juga menyadari bahwa karena API 21 kita dapat mengatur atribut translationZ
dan elevation
untuk membuat tampilan muncul di atas atau di bawah tampilan lain tetapi perhatian saya pada dasarnya berasal dari fakta bahwa dalam dokumentasi untuk layout_margin
atribut itu dengan jelas ditentukan bahwa nilai margin harus positif , biarkan saya mengutip:
Kutipan:
Menentukan ruang ekstra di sisi kiri, atas, kanan dan bawah tampilan ini. Ruang ini berada di luar batas tampilan ini. Nilai margin harus positif . Harus berupa nilai dimensi, yang merupakan bilangan titik mengambang yang ditambahkan dengan unit seperti "14.5sp". Satuan yang tersedia adalah: px (piksel), dp (piksel tanpa kerapatan), sp (piksel yang diskalakan berdasarkan ukuran font yang disukai), dalam (inci), mm (milimeter) ...
Pada tahun-tahun sejak awalnya mengajukan pertanyaan ini, saya tidak memiliki masalah dengan margin negatif, mencoba menghindari penggunaannya sebanyak mungkin, tetapi tidak mengalami masalah apa pun, jadi meskipun dokumentasi menyatakan bahwa, saya tidak juga. khawatir tentang itu.