Kullanarak NestedScrollView ile sorunsuz bir şekilde AppBarLayout Uyguladığım bir AppBarLayout ve NestedScrollView. Aşağı kaydırıldığında NestedScrollView'ı istiyorum, AppBarLayout Genişletmeden hemen önce NestedScrollView durağı olmadan AppBarLayout da incelikli bir şekilde genişletilmelidir; Bunu yapmak için ikinci bir Uçuş/Kaydırma gereklidir.AppBarLayout.Behavior
Yığın akışını kontrol ediyorum ve bu çözümü oldukça alakalı buldum ve kullanılabilir. Ancak bunun yerine NestedScrollView ise, RecyclerView. https://stackoverflow.com/a/32454407/3286489
Temelde kodu alıp hafifçe değiştirdim ve ayrıca aşağıdaki kod olarak AppBarLayout öğesini da dikkate almak için hızı> 8000 kontrol etmek için kullanılır.
public final class FlingBehavior extends AppBarLayout.Behavior {
private boolean isPositive;
public FlingBehavior() {
}
public FlingBehavior(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
public boolean onNestedFling(CoordinatorLayout coordinatorLayout, AppBarLayout child, View target, float velocityX, float velocityY, boolean consumed) {
if (velocityY > 0 && !isPositive || velocityY < 0 && isPositive) {
velocityY = velocityY * -1;
}
if (target instanceof NestedScrollView && Math.abs(velocityY) > 8000) {
consumed = false;
}
return super.onNestedFling(coordinatorLayout, child, target, velocityX, velocityY, consumed);
}
@Override
public void onNestedPreScroll(CoordinatorLayout coordinatorLayout, AppBarLayout child, View target, int dx, int dy, int[] consumed) {
super.onNestedPreScroll(coordinatorLayout, child, target, dx, dy, consumed);
isPositive = dy > 0;
}
}
Bu işler, ancak ideal değil. Ben sadece, NestedScrollView onu kaydırmanın en üstüne ulaştığında, ApplingLayout'taki Fling'i (yani consumed = false
'u iade et) başlatmak (devam) istiyorum. Bunu onNestedFling'de nasıl kontrol edebilirim?
Teşekkürler.
Merhaba bunun için herhangi bir çözüm var mi .. ?? –
Hayır. Yalnızca yukarıdaki gibi bir geçici çözüm olarak. Belki de bu soruya daha yüksek oranda derecelendirme talebi bu sorunu çözmek için biraz dikkat çekicidir. – Elye
Evet, tam olarak aynı soruyu burada yayınladım .http: //stackoverflow.com/questions/38119661/fling-with-nestedscrollview-and-appbarlayout –