material-components / material-components/material-components-android

[AppBarLayout] appBarLayout cause coordinatorLayout swipe stucks while swipeRefreshLayout is the parent.

Aperta
#1,802 4 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

bug Widget: TopAppBar
Lingua principale
Java
Stelle
17.4k
Fork
3.2k
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

Description:
For some reason I have to put coordinatorLayout inside swipeRefreshLayout, it scrolls well if there is no appBarLayout inside coordinatorLayout, but if I put appBarLayout inside coordinatorLayout, the swipe down gesture not works as expected.
bad

Expected behavior:
When appBarLayout removed.
good

Source code:

            swipeRefreshLayout {
                onRefresh { isRefreshing = false } // just for test
                coordinatorLayout {

// appbar start
                    appBarLayout {
                        button("appBarLayout") {
                            padding = dip(32)
                        }.lparams(matchParent, wrapContent) {
                            scrollFlags = AppBarLayout.LayoutParams.SCROLL_FLAG_SCROLL
                        }
                    }.lparams(matchParent, wrapContent) {
                        behavior = AppBarLayout.Behavior()
                    }
//appbar end

                    recyclerView {
                        backgroundColor = 0xff66ff66.toInt()
                        layoutManager = LinearLayoutManager(context)
//                        adapter = //todo set adapter.
                    }.lparams(matchParent, wrapContent) {
                        behavior = AppBarLayout.ScrollingViewBehavior()
                    }
                }
            }

Android API version: Android 11

Material Library version: 1.3.0-alpha03

Device: Pixel 3a AVD

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Direzione di ricerca

Inizia con l’esempio annidato fornito con SwipeRefreshLayout, CoordinatorLayout, AppBarLayout e RecyclerView su Android 11 con Material Library 1.3.0-alpha03. Confronta il gesto di scorrimento verso il basso con e senza AppBarLayout e verifica che il comportamento di aggiornamento funzioni come previsto mentre la barra dell’app rimane presente.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
android, kotlin
Ambito
mobile
Tipo di issue
Bug
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
42/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.