通常我们遇到的是纵向滑动列表,但是也会有横向滑动列表.那横向的怎么做呢?
其实很简单,绝大部分代码和纵向是一样的,只有一个设置不一样.
recyclerView.layoutManager = LinearLayoutManager(this, RecyclerView.HORIZONTAL, false)
class MainActivity : AppCompatActivity() {lateinit var adapter: RvAdapteroverride fun onCreate(savedInstanceState: Bundle?) {Create(savedInstanceState)setContentView(R.layout.activity_main)initRecyclerView()loadData()}private fun initRecyclerView() {recyclerView.layoutManager = LinearLayoutManager(this, RecyclerView.HORIZONTAL, false)adapter = RvAdapter()recyclerView.adapter = adapter}private fun loadData() {val data = ArrayList<String>(100)for (i in 0..99) {data.add("text-$i")}adapter.setData(data)}
}
2). RvAdapter.kt
class RvAdapter : RecyclerView.Adapter<RecyclerView.ViewHolder>() {private var mDataList = mutableListOf<String>()private lateinit var mContext: Contextoverride fun onBindViewHolder(holder: RecyclerView.ViewHolder, position: Int) {val data = mDataList[position] = dataholder.itemView.setOnClickListener {setOnItemClickListener(data)}}fun setData(dataList: List<String>) {mDataList.clear()mDataList.addAll(dataList)notifyDataSetChanged()}override fun getItemCount(): Int = mDataList.sizeoverride fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {mContext = tval view = LayoutInflater.from(mContext).inflate(R.layout.item_rv, parent, false)return ViewHolder(view)}private fun setOnItemClickListener(data: String) {ast(data)}class ViewHolder(itemView: View?) : RecyclerView.ViewHolder(itemView!!)}
3). 布局文件
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android=""xmlns:tools=""android:layout_width="match_parent"android:layout_height="match_parent"tools:context=".MainActivity">&lerview.widget.RecyclerViewandroid:id="@+id/recyclerView"android:layout_gravity="center"android:layout_width="match_parent"android:layout_height="wrap_content" />
</LinearLayout>
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android=""android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center"android:orientation="vertical"><Viewandroid:layout_width="match_parent"android:layout_height="1dp"android:background="@android:color/darker_gray" /><LinearLayoutandroid:layout_width="wrap_content"android:layout_height="100dp"><TextViewandroid:id="@+id/textView"android:layout_width="wrap_content"android:layout_height="match_parent"android:layout_marginLeft="10dp"android:layout_marginRight="10dp"android:gravity="center"android:text="text" /><Viewandroid:layout_width="1dp"android:layout_height="match_parent"android:background="@android:color/darker_gray" /></LinearLayout><Viewandroid:layout_width="match_parent"android:layout_height="1dp"android:background="@android:color/darker_gray" />
</LinearLayout>
厦门大学计算机专业 | 前华为工程师
Java | 安卓 | 前端 | 小程序 | 鸿蒙
公众号:蓝不蓝编程
本文发布于:2024-02-04 21:24:31,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170716759959745.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |