RecyclerView has been an everyday used item in Android App Development. During our use case, we often need some extra twists with the existing RecyclerView. One of them is to have some extra bottom margin for the last element of RecyclerView. Today, we'll try a good solution for that.
Solution
A good way to make this possible is to use LayoutParams in onBindViewHolder in the adapter class. We can set params for the last item and params for the rest of the items. The last item will have an extra bottom margin to achieve the goal.
Example Code
@Override
public void onBindViewHolder(@NonNull ViewHolder holder, int position) {
if (position == list.size() - 1) {
RecyclerView.LayoutParams params = (RecyclerView.LayoutParams) holder.itemView.getLayoutParams();
params.bottomMargin = 150; // last item bottom margin
holder.itemView.setLayoutParams(params);
} else {
RecyclerView.LayoutParams params = (RecyclerView.LayoutParams) holder.itemView.getLayoutParams();
params.bottomMargin = 10; // other items bottom margin
holder.itemView.setLayoutParams(params);
}
// all other codes
}
Explanation
by position == last.size() - 1
we find out the last item of the list. And with the LayoutParams we set the bottom margin for the last item. And in the else section, we set the bottom margin for the rest of the items.
Now you know how to add an extra bottom margin to the last item to RecyclerView.
More
- Navigating Pages with Ease: Tap Left/Right — A Custom ViewPager in Android
- Making Android Views Draggable: A Practical Guide
- Hide the Soft Keyboard and Remove Focus from EditText in Android
- Building a Visual Password Strength Meter in Android: A Simple Guide
- Android SearchView OnCloseListener Not Working? Here’s How to Fix It
- CardView vs. MaterialCardView
- Android 13’s Restricted Setting: A Stronghold Against Malicious Apps
- Boost Your Android Development with ADB Idea Plugin
- Troubleshooting “Execution Failed for Task app:mergeDebugResources” Error in Android XML Files
- Android Activity Lifecycle: A Comprehensive Guide
Top comments (0)