本文实例为大家分享了RecyclerView实现横向滚动效果的具体代码,供大家参考,具体内容如下
布局文件
Item
android:layout_width="100dp" android:layout_height="wrap_content" android:orientation="vertical" android:layout_margin="5dp">
适配器
public class RecyclerViewAdapter extends RecyclerView.Adapter{ private List animalList; private int resource; public RecyclerViewAdapter(List animalList, int resource) { this.animalList = animalList; this.resource = resource; } @NonNull @Override public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { View itemView = LayoutInflater.from(parent.getContext()).inflate(resource,parent, false); ViewHolder holder = new ViewHolder(itemView); return holder; } @Override public void onBindViewHolder(@NonNull ViewHolder holder, int position) { Animal animal = animalList.get(position); holder.animalImag.setImageResource(animal.getImageId()); holder.animalName.setText(animal.getName()); } @Override public int getItemCount() { return animalList.size(); } static class ViewHolder extends RecyclerView.ViewHolder{ ImageView animalImag; TextView animalName; public ViewHolder(View itemView){ super(itemView); animalImag = itemView.findViewById(R.id.iv_recyclerview_imag); animalName = itemView.findViewById(R.id.tv_recyclerview_name); } } }
核心代码
public class RecyclerViewActivity extends AppCompatActivity {
private List animalList = new ArrayList<>();
private RecyclerView recyclerView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_recycler_view);
recyclerView = findViewById(R.id.recyclerView_view);
initAnimals();
LinearLayoutManager linearLayoutManager = new LinearLayoutManager(this);
linearLayoutManager.setOrientation(LinearLayoutManager.HORIZONTAL);
recyclerView.setLayoutManager(linearLayoutManager);
RecyclerViewAdapter adapter = new RecyclerViewAdapter(animalList,R.layout.recyclerview_item);
recyclerView.setAdapter(adapter);
}
//初始化动物数据
private void initAnimals() {
Animal daxaing = new Animal("大象", R.drawable.animal_one);
animalList.add(daxaing);
Animal shizi = new Animal( "袋鼠", R.drawable.animal_two);
animalList.add(shizi);
Animal daishu = new Animal("二哈", R.drawable.animal_three);
animalList.add(daishu);
Animal laohu = new Animal("狮子", R.drawable.animal_four);
animalList.add(laohu);
Animal zhu = new Animal("猪", R.drawable.animal_five);
animalList.add(zhu);
Animal songshu = new Animal("猴子", R.drawable.animal_six);
animalList.add(songshu);
Animal baozi = new Animal("豹子", R.drawable.animal_seven);
animalList.add(baozi);
Animal shayu = new Animal("鲨鱼", R.drawable.animal_eight);
animalList.add(shayu);
}
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持考高分网。



