Saya ingin menerapkan pola 'Ruang Fleksibel dengan konten yang tumpang tindih' dari teknik pengguliran desain Material , seperti dalam video ini :
Tata letak XML saya sekarang terlihat seperti:
<android.support.design.widget.CoordinatorLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.design.widget.AppBarLayout
android:layout_width="match_parent"
android:layout_height="192dp"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">
<android.support.design.widget.CollapsingToolbarLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_scrollFlags="scroll|exitUntilCollapsed">
<android.support.v7.widget.Toolbar
android:layout_height="?attr/actionBarSize"
android:layout_width="match_parent"
app:layout_collapseMode="pin"/>
</android.support.design.widget.CollapsingToolbarLayout>
</android.support.design.widget.AppBarLayout>
<android.support.v4.widget.NestedScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<....>
</LinearLayout>
</android.support.v4.widget.NestedScrollView>
</android.support.design.widget.CoordinatorLayout>
Adakah cara mudah untuk melakukannya dengan menggunakan Design Library? Atau apakah saya harus membuat CoordinatorLayout.Behavior kustom untuk melakukan ini?
android
android-design-library
android-collapsingtoolbarlayout
ianhanniballake
sumber
sumber
Jawaban:
Faktanya, menghamparkan tampilan scrolling dengan AppBarLayout adalah fitur yang disertakan di Pustaka Dukungan Desain Android : Anda bisa menggunakan
app:behavior_overlapTop
atribut diNestedScrollView
(atau Tampilan apa pun menggunakan ScrollingViewBehavior ) untuk menyetel jumlah tumpang tindih:Perhatikan bahwa
app:behavior_overlapTop
hanya berfungsi pada tampilan yang memilikiapp:layout_behavior="@string/appbar_scrolling_view_behavior"
Behavior apa adanya yang menggunakan atribut (bukan View atau Parent ViewGroup, karena atribut biasanya diterapkan), oleh karena itubehavior_
awalannya.Atau setel secara terprogram melalui setOverlayTop () :
sumber
layout_behavior
danbehavior_overlapTop
) berakhir di belakang AppBarLayout saudaranya. Saya sudah mencoba mengganti urutan dalam XML, tetapi sepertinya tidak berpengaruh apa pun. Ada ide apa yang bisa menjadi masalah?error no resource identifier found for attribute behavior_overlayTop
behavior_overlapTop
tetapisetOverlayTop()
- tumpang tindih vs hamparan. Pastikan Anda menggunakan yang benar!Selain jawaban yang diterima , panggil setTitleEnabled (false) di CollapsingToolbarLayout Anda untuk membuat judul tetap di atas seperti pada contoh.
Seperti ini:
atau dengan menambahkannya dalam xml seperti ini:
Jika tidak, judul dapat menghilang di balik konten yang tumpang tindih, kecuali tentu saja itu adalah perilaku yang Anda inginkan.
sumber