Wykonuję mały projekt z RecyclerView z elementami CardView w środku. Stworzyłem kartę rozszerzalną (rozwiniętą poprzez naciśnięcie małego przycisku wewnątrz karty). Każda karta zawsze zawiera widoczną część (id: top_layout) i część rozwijaną (id: expandable_part_layout).Karta rozszerzeń RecyclerViewView
Problem polega na tym, że gdy rozwijam ostatni element lub element, który po rozwinięciu ma dolną krawędź poniżej dolnej krawędzi okna RecyclerView (jakaś część elementu lub rozwinięta pozycja jest niewidoczna dla użytkownika), widok RecyclerView powinien przewijać wszystkie elementy, aby pokazać cały przedmiot, który Rozbudowałem. Próbowałem użyć metody scrollToPosition
i podobnych metod, aby przewinąć do końca rozwiniętej karty, ale bez powodzenia.
Moje pytanie brzmi: jak to zrobić po rozwinięciu zwinięcia karty w górę RecyclerView o wysokości rozwiniętej części karty? - To mój pomysł, może ktoś ma lepsze rozwiązanie.
<android.support.v7.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:cardCornerRadius="8px"
app:cardPreventCornerOverlap="false">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
>
<RelativeLayout
android:id="@+id/top_layout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="false"
android:layout_alignParentTop="true"
>
<!-- some other controls -->
<ImageButton
android:id="@+id/card_header_inner_expand_btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:background="?android:selectableItemBackground"
android:clickable="true"
android:padding="6dp"
android:src="@drawable/expand_icon" />
</RelativeLayout>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/expandable_part_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/top_layout"
android:animateLayoutChanges="true"
android:clickable="false"
android:visibility="gone">
<RadioGroup
android:id="@+id/extened_stage_radiogroup"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:orientation="vertical">
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</RadioGroup>
<!-- some other controls -->
</RelativeLayout>
</RelativeLayout>
Czy znalazłeś rozwiązanie tego problemu? Mam dokładnie ten sam problem. – Kerkhofsd
Jestem również zainteresowany, jeśli znalazłeś rozwiązanie tego problemu. – Allinone51
Niestety, nie znalazłem jeszcze rozwiązania. – Darko