En este artículo, vamos a mostrar la animación de atenuación y reducción en RecyclerView . Cuando nos movemos hacia abajo, el elemento en la parte superior se desvanecerá y luego se encogerá. En la salida, podemos ver cómo está sucediendo. Implementaremos este lenguaje de programación Java .
Implementación paso a paso
Paso 1: Crear un nuevo Proyecto
Para crear un nuevo proyecto en Android Studio, consulte Cómo crear/iniciar un nuevo proyecto en Android Studio . Tenga en cuenta que seleccione Java como lenguaje de programación.
Paso 2: agregue esto en el archivo build.gradle
implementation 'com.stone.vega.library:VegaLayoutManager:1.0.6'
Paso 3: Trabajar con el archivo items.xml
Vaya a app > res > layout > New > Layout Resource File y nombre el archivo como item . Vaya al archivo item.xml y consulte el siguiente código. A continuación se muestra el código para el archivo item.xml .
XML
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical"> <Button android:id="@+id/itemclick" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="Click Here" /> </LinearLayout>
Paso 4: trabajar con el archivo RecyclerViewAdapter.java
Cree una nueva clase Java en Android Studio y nombre la clase como RecyclerViewAdapter. Vaya al archivo RecyclerViewAdapter.java y consulte el siguiente código. A continuación se muestra el código del archivo RecyclerViewAdapter.java .
Java
import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.Button; import android.widget.Toast; import androidx.annotation.NonNull; import androidx.recyclerview.widget.RecyclerView; public class RecyclerViewAdapter extends RecyclerView.Adapter<RecyclerViewAdapter.ViewHolder> { private int mcount; public RecyclerViewAdapter(int mcount) { this.mcount = mcount; } @NonNull @Override public RecyclerViewAdapter.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.items, parent, false); return new ViewHolder(view); } @Override public void onBindViewHolder(@NonNull final RecyclerViewAdapter.ViewHolder holder, final int position) { holder.itemclick.setText("Button" + position); holder.itemclick.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Toast.makeText(holder.itemView.getContext(), "Clicked : " + position, Toast.LENGTH_LONG).show(); } }); } @Override public int getItemCount() { return mcount; } public class ViewHolder extends RecyclerView.ViewHolder { Button itemclick; public ViewHolder(@NonNull View itemView) { super(itemView); itemclick = itemView.findViewById(R.id.itemclick); } } }
Paso 5: trabajar con el archivo activity_main.xml
Vaya a la aplicación > res > diseño > actividad_principal.xml y agregue el siguiente código a ese archivo. A continuación se muestra el código para el archivo activity_main.xml .
XML
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context=".MainActivity"> <androidx.recyclerview.widget.RecyclerView android:id="@+id/rcv" android:layout_width="match_parent" android:layout_height="match_parent" /> </RelativeLayout>
Paso 6: trabajar con el archivo MainActivity.java
Vaya al archivo MainActivity.java y consulte el siguiente código. A continuación se muestra el código del archivo MainActivity.java . Se agregan comentarios dentro del código para comprender el código con más detalle.
Java
import android.os.Bundle; import androidx.appcompat.app.AppCompatActivity; import androidx.recyclerview.widget.RecyclerView; import com.pluscubed.recyclerfastscroll.RecyclerFastScroller; import com.stone.vega.library.VegaLayoutManager; public class MainActivity extends AppCompatActivity { RecyclerView recyclerView; RecyclerFastScroller fastScroller; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); recyclerView = findViewById(R.id.rcv); // We have used this to add fade and shrink method recyclerView.setLayoutManager(new VegaLayoutManager()); recyclerView.setAdapter(new RecyclerViewAdapter(50)); } }
Producción: