Haga clic en un elemento de la lista RecyclerView

Tengo un RecyclerView con un LinearLayoutManager y un Adapter :

 @Override public int getItemViewType(int position) { return position == 0? R.layout.header : R.layout.item; } 

Aquí está header.xml :

 <View xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/header" android:layout_width="match_parent" android:layout_height="@dimen/header_height" /> 

Lo que quiero lograr es tener un agujero en el RecyclerView donde puedo hacer clic a cualquier cosa detrás del RecyclerView . He probado muchas combinaciones de los siguientes atributos sin éxito:

  android:background="@android:color/transparent" android:background="@null" android:clickable="false" android:focusable="false" android:focusableInTouchMode="false" android:longClickable="false" 

¿Cómo puedo hacer que el primer elemento sea transparente (permitiendo eventos táctiles a algo detrás de él) en la lista, pero que todavía ocupe el espacio?

Usted podría fijar OnClickListener / OnTouchListener de todos sus "agujeros" al padre de la visión detrás del RecyclerView y delegar cualquier de los eventos de MotionEvent y del tacto a ese manejo del tacto del padre ViewGroup .

Actualización por TWiStErRob:

 class HeaderViewHolder extends RecyclerView.ViewHolder { public HeaderViewHolder(View view) { super(view); view.setOnTouchListener(new OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { // http://stackoverflow.com/questions/8121491/is-it-possible-to-add-a-scrollable-textview-to-a-listview v.getParent().requestDisallowInterceptTouchEvent(true); // needed for complex gestures // simple tap works without the above line as well return behindView.dispatchTouchEvent(event); // onTouchEvent won't work } }); 

No hay nada especial necesario en el XML, simplemente vistas simples (ninguno de los atributos en la pregunta). v.getParent() es el RecyclerView y ese método largo lo impide iniciar un gesto de desplazamiento mientras sostiene su dedo en el "agujero".

Mi vista "agujero" en la lista también tiene un fondo semitransparente, pero eso no importa porque estamos entregando los toques.

  • Android ViewPager con RecyclerView funciona incorrectamente dentro de BottomSheet
  • Configuración de la aplicación: layout_behavior mediante programación
  • StaggeredGridLayoutManager y elementos en movimiento
  • RecyclerView Adapter está repitiendo valores en lugares erróneos
  • ¿Qué es alertcontroller.recyclelistview
  • Diseño como la aplicación HotStar
  • ¿Cómo deslizar para borrar en RecyclerView?
  • ¿Cómo puedo acceder al visor de un elemento en una vista de reciclador?
  • Recyclerview agregar datos a la parte superior sin desorden?
  • Problema con selector en RecycleView
  • RecyclerView causa problemas al reciclar
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.