Jadi baru-baru ini, dengan Android Studio 2.2 ada ConstraintLayout baru yang membuat mendesain jauh lebih mudah, tetapi tidak seperti RelativeLayout
dan Linearlayout
, saya tidak dapat menggunakan a ScrollView
untuk mengelilingi ConstraintLayot
. Apakah ini mungkin? Jika ya, bagaimana caranya?
yaitu
<ScrollView 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:layout_editor_absoluteX="0dp"
tools:layout_editor_absoluteY="0dp">
<android.support.constraint.ConstraintLayout
android:id="@+id/constraintLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:layout_editor_absoluteX="0dp"
tools:layout_editor_absoluteY="0dp">
<!-- Have whatever children you want inside -->
</android.support.constraint.ConstraintLayout>
</ScrollView>
android
android-layout
user-interface
android-constraintlayout
Seth Painter
sumber
sumber
layout_height="wrap_content"
, Aplikasi menampilkan layar kosong, tetapi jika saya menggunakanlayout_height="match_parent"
, Aplikasi tidak akan menggulir.Jawaban:
Ada bug dengan ConstraintLayout di dalam ScrollViews dan telah diperbaiki. google telah memperbaiki bug di Android Studio 2.2 Pratinjau 2 (constraintlayout 1.0.0-alpha2).
Periksa tautan ini untuk pembaruan baru (Pratinjau 2): berfungsi dengan baik di dalam ScrollView dan RecycleView
Solusi 1:
Solusi 2:
sumber
Coba tambahkan
android:fillViewport="true"
ke ScrollView.Temukan solusinya di sini: LinearLayout tidak meluas di dalam ScrollView
sumber
digunakan
NestedScrollView
dengan viewport true berfungsi dengan baik untuk sayasumber
Tetapkan
ScrollView
layout_height
sebagaiwrap_content
maka itu akan bekerja dengan baik. Di bawah ini adalah contoh yang dapat membantu seseorang. Saya telah digunakancompile 'com.android.support.constraint:constraint-layout:1.0.2'
untuk tata letak kendala.sumber
Jangan lupa bahwa Jika Anda membatasi beberapa bagian bawah tampilan ke bagian bawah tata letak batasan. Scrollview tidak dapat menggulir.
sumber
Coba berikan beberapa padding bottom ke layout kendala Anda seperti di bawah ini
sumber
Saya telah menghabiskan 2 hari mencoba untuk mengubah tata letak menjadi
ConstraintLayout
yang disebut rilis "stabil" Android Studio 2.2 dan saya tidak harusScrollView
bekerja di desainer. Saya tidak akan memulai rute menambahkan kendala dalam XML untukViews
itu lebih jauh ke bawah gulungan. Bagaimanapun, ini seharusnya menjadi alat desain visual.Dan jumlah error rendering, stack overflows, dan masalah tema yang saya alami telah membuat saya menyimpulkan bahwa seluruh
ConstraintLayout
implementasi masih penuh dengan bug. Kecuali Anda mengembangkan tata letak sederhana maka saya akan membiarkannya sendiri sampai setidaknya ada beberapa iterasi lagi.Itu 2 hari saya tidak akan kembali.
sumber
Karena sebenarnya
ScrollView
dirumuskan dalamCoordinatorLayout
denganToolbar
...... Saya harus menentukan
android:layout_marginTop="?attr/actionBarSize"
untuk membuat pengguliran berfungsi:Di atas juga berfungsi dengan
NestedScrollView
alih - alihScrollView
. Sayaandroid:fillViewport="true"
tidak perlu mendefinisikan .sumber
Jangan lupa tentang
tools:context=".YouClassName"
properti diScrollView
.Itulah yang menyebabkan aplikasi saya macet.
sumber