Editor Tata Letak baru di Android Studio 2.2 terus menampilkan kesalahan ini pada tampilan seperti EditText dan Buttons. tolong bantu. Juga, tautan apa pun yang membantu dalam orientasi dengan tata letak kendala baru akan dihargai.
kode:
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
android:id="@+id/activity_main"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.set.email.MainActivity"
tools:layout_editor_absoluteX="0dp"
tools:layout_editor_absoluteY="81dp">
<TextView
android:text="To:"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
tools:layout_editor_absoluteX="7dp"
tools:layout_editor_absoluteY="4dp"
android:id="@+id/textTo"/>
<EditText
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:inputType="textEmailAddress"
android:ems="10"
tools:layout_editor_absoluteX="0dp"
tools:layout_editor_absoluteY="24dp"
android:id="@+id/editTo"
android:textAppearance="@android:style/TextAppearance.DeviceDefault.Medium"/>
<EditText
android:layout_width="384dp"
android:layout_height="42dp"
android:inputType="textPersonName"
android:ems="10"
tools:layout_editor_absoluteX="0dp"
tools:layout_editor_absoluteY="94dp"
android:id="@+id/editSubject"
android:textAppearance="@android:style/TextAppearance.DeviceDefault.Medium"/>
<EditText
android:layout_width="384dp"
android:layout_height="273dp"
android:inputType="textPersonName"
android:ems="10"
tools:layout_editor_absoluteX="0dp"
tools:layout_editor_absoluteY="179dp"
android:id="@+id/editMessage"
app:layout_constraintLeft_toLeftOf="@+id/activity_main"
tools:layout_constraintLeft_creator="50"
android:textAppearance="@android:style/TextAppearance.DeviceDefault.Medium"/>
<Button
android:text="Send"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
tools:layout_editor_absoluteX="140dp"
tools:layout_editor_absoluteY="454dp"
android:id="@+id/btnSend"
app:layout_constraintLeft_toLeftOf="@+id/editMessage"
tools:layout_constraintLeft_creator="0"
app:layout_constraintRight_toRightOf="@+id/activity_main"
android:layout_marginEnd="16dp"
tools:layout_constraintRight_creator="0"
android:textAppearance="@android:style/TextAppearance.DeviceDefault.Medium"/>
</android.support.constraint.ConstraintLayout>
Jawaban:
Tata letak batasan bertujuan untuk mengurangi hierarki tata letak dan meningkatkan kinerja tata letak (secara teknis, Anda tidak perlu membuat perubahan untuk ukuran layar yang berbeda, Tidak ada tumpang tindih, berfungsi seperti pesona pada ponsel serta tab dengan batasan yang sama). Begini caranya Anda menyingkirkan kesalahan di atas saat Anda menggunakan editor tata letak baru.
Klik pada lingkaran kecil dan seret ke kiri sampai lingkaran berubah menjadi hijau, untuk menambahkan pembatas kiri (beri nomor, katakan x dp. Ulangi dengan sisi lain dan biarkan pembatas bawah kosong jika Anda memiliki tampilan lain di bawahnya .
Edit: Menurut situs pengembang, Daripada menambahkan batasan ke setiap tampilan saat Anda menempatkannya di tata letak, Anda dapat memindahkan setiap tampilan ke posisi yang diinginkan, lalu klik Infer Constraints untuk membuat batasan secara otomatis. lebih lanjut di sini
sumber
Dari Android Studio v3 dan yang lebih baru, Infer Constraint telah dihapus dari menu drop-down.
Gunakan ikon tongkat ajaib di menu bilah alat di atas pratinjau desain; ada tombol " Infer Constraints ". Klik tombol ini, ini secara otomatis akan menambahkan beberapa baris di bidang teks dan garis merah akan dihapus.
sumber
Cukup salin kode ini ke semua komponen yang akan Anda seret.
contoh:
sumber
Pergi ke Design, klik kanan pada Widget Anda, Constraint Layout >> Infer Constraints. Anda dapat mengamati bahwa beberapa kode telah ditambahkan secara otomatis ke Teks Anda.
sumber
sumber
Jika Menyimpang
Constraints
masih memberi Anda kesalahan, cukup gunakan kode ini:sumber
Anda perlu menyeret
EditText
dari tepi tata letak dan bukan hanya widget lainnya. Anda juga dapat menambahkan batasan hanya dengan menyeret titik batasan yang mengelilingi widget ke tepi layar untuk menambahkan batasan seperti yang ditentukan.Kode yang dimodifikasi akan terlihat seperti ini:
sumber
Buka Teks tata letak XML di mana widget (tombol atau Tampilan lainnya) menunjukkan kesalahan, fokuskan kursor di sana dan tekan alt+ enterdan pilih atribut kendala yang hilang.
sumber
misalnya saya punya ini
gunakan tata letak RelativeLayout seperti ini
sumber
Cukup beralih ke Tampilan Desain, dan cari widget yang bersangkutan. Ambil salah satu titik di batas widget dan gabungkan ke tepi layar yang sesuai (atau ke titik di widget lain).
Misalnya, jika widget adalah bilah alat, ambil saja titik paling atas dan gabungkan ke tepi paling atas layar ponsel seperti yang ditunjukkan pada gambar.
sumber
Ini sangat membantu saya
sumber
Anda harus pindah
androidx.constraintlayout.widget.ConstraintLayout
keRelativeLayout
.sumber