Cómo crear una animación de clic para elementos en un RecycleView

He estado buscando en Google para determinar cómo obtengo una animación de clic para los elementos en un RecycleView, algo así como "hacer clic / retroalimentación táctil".

Puedo ver mis elementos en la vista, pero no hay reacción real cuando presiono / haga clic en ellos. Tengo una versión reducida de este proyecto:

Https://github.com/writtmeyer/recyclerviewdemo/tree/master/app/src/main/java/com/grokkingandroid/samplesapp/samples/recyclerviewdemo

¿Alguien sabe cómo obtener animaciones de clic para los elementos en un RecycleView?

Esto es muy fácil de hacer. En el archivo de diseño de la vista que está inflando para cada fila de su RecycleView , configure la vista de nivel superior para que pueda hacer clic y enfocarse. A continuación, establezca el fondo de esa vista en ?android:attr/selectableItemBackground . Basado en el proyecto GitHub que publicó, parece que la vista que está inflando para cada fila es item_demo_01.xml . Por lo tanto, ese diseño sería ahora algo así:

 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/container_list_item" android:layout_width="match_parent" android:layout_height="match_parent" android:clickable="true" android:focusable="true" android:background="?android:attr/selectableItemBackground"> <include layout="@layout/common_item_layout" /> </RelativeLayout> 

Puede realizar esto utilizando al usuario en su clase RecyclerAdapter.

 //this goes in your recyclerView adapter.... /** * View holder for workouts */ public static class MyViewHolder extends RecyclerView.ViewHolder { // each data item is just a string in this case public TextView mTitleView; public TextView mTView1; public View homeView; public MyViewHolder(View itemLayoutView) { super(itemLayoutView); this.homeView = itemLayoutView; this.mTitleView = (TextView) itemLayoutView.findViewById(R.id.workoutItemTitleText); this.mTView1 = (TextView) itemLayoutView.findViewById(R.id.workoutItemWorkoutSets); homeView.setOnClickListener(new ON) } } //other code..... @Override public void onBindViewHolder(WorkoutViewHolder viewHolder, int position) { viewHolder.mTView1.setText(""); viewHolder.mTitleView.setText(""); //pass the position to the view in the onclick listener viewHolder.homeView.setId(position); viewHolder.homeView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //this list item has been clicked, do something. maybe use an interface or something to notify your activity/fragment. } }); } //the rest of your code..... 

En el método onBindViewHolder puedes implementar tu lógica de animación para esa vista y pasarla a tu actividad o fragmento. Simplemente haga una interfaz personalizada para su adaptador recyclerview y haga un método como setMyOnItemClickListener(new MyOnItemClickListener) . Luego, cuando se hace clic en un elemento, notifique su interfaz personalizada y realice alguna acción con el clic.

  • Avanzar menú deslizante en android
  • ¿Cómo evitar la imagen intermitente al guardar la imagen después de girar la animación?
  • ¿Cómo puedo programar una animación circular rotatoria como esta (foto adjunta)? Androide
  • Animaciones de transición de actividad en Android
  • Animar o desplazar EditarTexto a la parte superior de la pantalla
  • La biblioteca existente para reproducir el efecto de zoom-in imageView de la aplicación Foursquare android?
  • El botón no funciona para AlexKolpa / fab-toolbar
  • Cómo intercambiar elementos ListView con animación?
  • ¿Animaciones de PageCurl en las transiciones de ViewPager?
  • Android transformar el icono en otro
  • Vista de lista de Android Giros de derecha / izquierda como registros de llamadas
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.