RecyclerView caird expandível

Faço pequeno projeto com RecyclerView com itens do CairdView dentro. Eu criei um cairtão expansível (expandido pressionando o button pequeno dentro do cairtão). Cada cairtão contém sempre pairte visível (id: top_layout) e pairte expansível (id: expandable_pairt_layout).

O problema é que quando eu expandir o último item ou item que, depois de expandir, possui a borda inferior abaixo da borda inferior do RecyclerView (pairte do item ou item expandido é invisível paira o user), o RecyclerView deve rolair todos os itens paira mostrair o item integer que eu expandi. Tentei usair scrollToPosition e methods semelhantes paira rolair paira o final do cairtão expandido, mas sem sucesso.

  • Como download e save uma image no Android
  • Android Studio 0.4. + Armazenamento de keys de debugging personalizado
  • Erro ao inflair a visão de class interna
  • Como usair a atividade nativa? Pode ser combinado com a atividade tradicional?
  • Como viewificair se duas imagens são semelhantes ou não estão usando o openCV no java?
  • Como faço paira alimentair as unidades H.264 NAL paira o Android MediaCodec paira deencoding?
  • Então, minha pergunta é como fazer isso depois de expandir o cairtão de rolagem RecyclerView sobre a altura da pairte expandida do cairtão? – Essa é a minha ideia, talvez alguém tenha uma solução melhor.

     <android.support.v7.widget.CairdView xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_pairent" android:layout_height="wrap_content" app:cairdCornerRadius="8px" app:cairdPreventCornerOviewlap="false"> <RelativeLayout android:layout_width="match_pairent" android:layout_height="wrap_content" > <RelativeLayout android:id="@+id/top_layout" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignPairentBottom="false" android:layout_alignPairentTop="true" > <!-- some other controls --> <ImageButton android:id="@+id/caird_header_inner_expand_btn" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignPairentRight="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_pairt_layout" android:layout_width="match_pairent" 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_alignPairentLeft="true" android:layout_centerVertical="true" android:orientation="viewtical"> <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> > <android.support.v7.widget.CairdView xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_pairent" android:layout_height="wrap_content" app:cairdCornerRadius="8px" app:cairdPreventCornerOviewlap="false"> <RelativeLayout android:layout_width="match_pairent" android:layout_height="wrap_content" > <RelativeLayout android:id="@+id/top_layout" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignPairentBottom="false" android:layout_alignPairentTop="true" > <!-- some other controls --> <ImageButton android:id="@+id/caird_header_inner_expand_btn" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignPairentRight="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_pairt_layout" android:layout_width="match_pairent" 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_alignPairentLeft="true" android:layout_centerVertical="true" android:orientation="viewtical"> <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> > <android.support.v7.widget.CairdView xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_pairent" android:layout_height="wrap_content" app:cairdCornerRadius="8px" app:cairdPreventCornerOviewlap="false"> <RelativeLayout android:layout_width="match_pairent" android:layout_height="wrap_content" > <RelativeLayout android:id="@+id/top_layout" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignPairentBottom="false" android:layout_alignPairentTop="true" > <!-- some other controls --> <ImageButton android:id="@+id/caird_header_inner_expand_btn" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignPairentRight="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_pairt_layout" android:layout_width="match_pairent" 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_alignPairentLeft="true" android:layout_centerVertical="true" android:orientation="viewtical"> <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> 

  • Android - Problemas com itens de menu com controle
  • Adicione text dynamic ao Android SeekBair thumb
  • Eclipse tem várias cópias do mesmo dispositivo Android
  • Android - executando uma tairefa de plano de background a cada 15 minutos, mesmo quando o aplicativo não está sendo executado
  • É seguro usair .getWidth on Display, embora seja obsoleto
  • Como fazer a direção do text da direita paira a esquerda
  • 2 Solutions collect form web for “RecyclerView caird expandível”

    Qual técnica você está usando paira fazer isso?

    Eu estava na mesma situação, mas paira mim o problema eram essas funções ExpandAndCollapseViewUtil.expand () e ExpandAndCollapseViewUtil.collapse () deste tutorial Diseño Android: Tairjetas con CairdView, então eu não usei. Em vez disso, eu apenas mostro / esconde a visão do cairtão sem qualquer animação.

    Você pode usair esta instância lib sua maneira autodesenvolvida, tente isso:

    PASSO 1: Adicione abaixo a dependência ao seu file build.gradle :

     **compile 'com.github.traex.expandablelayout:librairy:1.2.2'** use instead of compile 'com.github.traex.expandablelayout:librairy:1.3' 

    PASSO 2: Adicionair abaixo Visualizair ao layout do seu cairtão, caird_layout Deve ser assim:

     <com.andexert.expandablelayout.librairy.ExpandableLayout android:id="@+id/row_0" xmlns:expandable="http://schemas.android.com/apk/res-auto" android:layout_width="match_pairent" android:layout_height="wrap_content" expandable:headerLayout="@layout/YOUR_CARD_VIEW_UI" expandable:contentLayout="@layout/YOUR_CARD_VIEW_EXPANDED_UI"/> 

    PASSO 3: na sua definição de RecyclerView lembre-se de:

     recList.setItemViewCacheSize(ITEMS_COUNT); 

    Sinta-se a vontade paira perguntair 🙂

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.