Próbuję zrobić system kart z ruchomą lewą i prawą stroną (np. Tinder), gdzie na karcie znajduje się NestedScrollView. Chodziło o to, że jeśli użytkownik przesuwałby tylko w górę iw dół, NestedScrollView byłby przewijany, ale jeśli użytkownik przesuwałby w lewo lub w prawo, karta używałaby tego przesunięcia.Przełóż Android NestedScroll Wyświetl poziome przeciągnięcia do rodzica Wyświetl
<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:card_view="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="4dp"
card_view:cardUseCompatPadding="true">
<android.support.v4.widget.NestedScrollView
android:id="@+id/nested_scroll_view"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="4dp">
<TextView
android:id="@+id/text_view"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<android.support.v7.widget.RecyclerView
android:id="@+id/recycler"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</LinearLayout>
</android.support.v4.widget.NestedScrollView>
</android.support.v7.widget.CardView>
(Biblioteka karta używam jest https://github.com/wenchaojiang/AndroidSwipeableCardStack)
compile 'com.github.wenchaojiang:AndroidSwipeableCardStack:0.1.5'
Kiedy kładę margin_top na NestedScrollView i dotyku w tym marży, CardStack prawidłowo chwyta mój wkład i przesuwa karty w lewo lub w prawo, ale NestedScrollView przechwytuje moje wejście niezależnie od kierunku, jeśli dotknę i przeciągnę gdziekolwiek indziej.
Którą klasę/onTouchEvent powinienem rozszerzać/przesłonić, aby uzyskać ten efekt, czy może istnieje prostsze podejście?
Dzięki!
Ja też próbuję dowiedzieć się tego, biorąc pod uwagę i próbuje ... 1) onInterceptTouch w klasie nadrzędnej (etapy nagrywania a może i wysyłkowe?) 2) modyfikację biblioteki realizowanego NestedChildHelper 2) Recyclerview z ItemTouchHelper .. Do tej pory dość trudne. . Nie wiem, czy to ważne, ale do tej pory biblioteki, które próbuję, to szufelki i swipestack. https://github.com/Meetic/Shuffle and https://github.com/flschweiger/SwipeStack – nAndroid
Używanie jednej z tych bibliotek jest lepsze niż recyclerview b/c, które dużo robią. – nAndroid
Wierzę, że onInterceptTouchEvent() to metoda, której szukasz. Zobacz https://developer.android.com/reference/android/view/ViewGroup.html#onInterceptTouchEvent(android.view.MotionEvent) –