【Android】RecyclerView常规写法(竖向,横向)

您所在的位置:网站首页 前面横向后面竖向的区别 【Android】RecyclerView常规写法(竖向,横向)

【Android】RecyclerView常规写法(竖向,横向)

2024-07-12 16:24| 来源: 网络整理| 查看: 265

RecyclerView常规写法-竖向,横向

代码

竖向

gradle(moude): implementation 'androidx.recyclerview:recyclerview:1.2.0-alpha04'//RecyclerView布局 Menifest: Layout:

fruit_recyclerview_item:

activity_recyclerview:

Kotlin:

Fruit:

class Fruit(val name:String,val imageId:Int)

RecyclerViewAdapter:

package com.mozhimen.myapplication.recyclerView import android.util.Log import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import android.widget.ImageView import android.widget.TextView import androidx.recyclerview.widget.RecyclerView import com.mozhimen.myapplication.R import com.mozhimen.myapplication.common.Fruit class RecyclerViewAdapter(private val fruitList: List) : RecyclerView.Adapter() { inner class ViewHolder(view: View) : RecyclerView.ViewHolder(view) { val fruitImage: ImageView = view.findViewById(R.id.fruit_recyclerview_image) val fruitName: TextView = view.findViewById(R.id.fruit_recyclerview_name) } override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder { val view = LayoutInflater.from(parent.context) .inflate(R.layout.fruit_recyclerview_item, parent, false) return ViewHolder(view) } override fun onBindViewHolder(holder: ViewHolder, position: Int) { val fruit = fruitList[position] holder.fruitImage.setImageResource(fruit.imageId) holder.fruitName.text = fruit.name holder.itemView.setOnClickListener { val position=holder.bindingAdapterPosition Log.d("Tag",position.toString()) } holder.fruitImage.setOnClickListener { val position=holder.bindingAdapterPosition Log.d("Tag",position.toString()) } } override fun getItemCount() = fruitList.size }

RecyclerViewActivity:

class RecyclerViewActivity : AppCompatActivity() { private lateinit var recyclerviewBinding: ActivityRecyclerviewBinding private val fruitList = ArrayList() override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) recyclerviewBinding = ActivityRecyclerviewBinding.inflate(layoutInflater) setContentView(recyclerviewBinding.root) initFruits() val layoutManager=LinearLayoutManager(this) recyclerviewBinding.recyclerRecyclerView.layoutManager=layoutManager val adapter=RecyclerViewAdapter(fruitList) recyclerviewBinding.recyclerRecyclerView.adapter=adapter } private fun initFruits() { repeat(2) { fruitList.apply { add(Fruit("Apple", R.drawable.fruit)) add(Fruit("Pear", R.drawable.fruit)) add(Fruit("Banana", R.drawable.fruit)) add(Fruit("Watermelon", R.drawable.fruit)) add(Fruit("Orange", R.drawable.fruit)) add(Fruit("Grape", R.drawable.fruit)) add(Fruit("Pineapple", R.drawable.fruit)) add(Fruit("Strawberry", R.drawable.fruit)) add(Fruit("Cherry", R.drawable.fruit)) add(Fruit("Mango", R.drawable.fruit)) } } } }

竖向

Menifest: Layout:

fruit_recyclerview_item_horizontal:

Kotlin:

RecyclerViewHorizontalAdapter:

class RecyclerViewHorizontalAdapter(private val fruitList: List) : RecyclerView.Adapter() { inner class ViewHolder(view: View) : RecyclerView.ViewHolder(view) { val fruitImage: ImageView = view.findViewById(R.id.fruit_recyclerview_horizontal_image) val fruitName: TextView = view.findViewById(R.id.fruit_recyclerview_horizontal__name) } override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder { val view = LayoutInflater.from(parent.context) .inflate(R.layout.fruit_recyclerview_item_horizontal, parent, false) return ViewHolder(view) } override fun onBindViewHolder(holder: ViewHolder, position: Int) { val fruit = fruitList[position] holder.fruitImage.setImageResource(fruit.imageId) holder.fruitName.text = fruit.name } override fun getItemCount() = fruitList.size }

RecyclerViewHorizontalActivity:

initFruits() val layoutManager= LinearLayoutManager(this) layoutManager.orientation=LinearLayoutManager.HORIZONTAL recyclerviewBinding.recyclerRecyclerView.layoutManager=layoutManager val adapter=RecyclerViewHorizontalAdapter(fruitList) recyclerviewBinding.recyclerRecyclerView.adapter=adapter

效果:

横向 在这里插入图片描述 竖向 在这里插入图片描述



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3