SwipeHorizontalScrollView定列滑动列表
代码说明
layout-activity_h_rv
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<com.sci99.mtd_baselib_demo.view.HorizontalRecyclerView
android:id="@+id/rv_h"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:needShadow="true" />
</LinearLayout>
layout-item_h_rv
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android">
<data>
<variable
name="data"
type="String" />
</data>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="60dp"
android:gravity="center_vertical"
android:orientation="horizontal">
<TextView
android:layout_width="100dp"
android:layout_height="match_parent"
android:gravity="center"
android:padding="8dp"
android:text="原油"
android:textColor="@color/black"
android:textSize="18sp" />
<com.sci99.mtd_baselib_demo.view.SwipeHorizontalScrollView
android:id="@+id/swipeHorizontalView"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:orientation="horizontal">
<TextView
android:layout_width="100dp"
android:layout_height="match_parent"
android:gravity="center"
android:text="667.5"
android:textColor="@color/black"
android:textSize="14sp" />
...
<TextView
android:layout_width="100dp"
android:layout_height="match_parent"
android:gravity="center"
android:text="@{data}"
android:textColor="@color/black"
android:textSize="14sp" />
</LinearLayout>
</com.sci99.mtd_baselib_demo.view.SwipeHorizontalScrollView>
</LinearLayout>
layout-head_h_rv
</layout>
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android">
<data>
</data>
<LinearLayout
android:background="@color/theme_color"
android:layout_width="match_parent"
android:layout_height="60dp"
android:gravity="center_vertical"
android:orientation="horizontal">
<TextView
android:text="名称"
android:layout_width="100dp"
android:layout_height="match_parent"
android:gravity="center"
android:padding="8dp"
android:textColor="@color/white"
android:textSize="18sp" />
<com.sci99.mtd_baselib_demo.view.SwipeHorizontalScrollView
android:id="@+id/swipeHorizontalView"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:orientation="horizontal">
<TextView
android:text="标题1"
android:layout_width="300dp"
android:layout_height="match_parent"
android:gravity="center"
android:textColor="@color/white"
android:textSize="14sp" />
<TextView
android:text="标题2"
android:layout_width="100dp"
android:layout_height="match_parent"
android:gravity="center"
android:textColor="@color/white"
android:textSize="14sp" />
...
</LinearLayout>
</com.sci99.mtd_baselib_demo.view.SwipeHorizontalScrollView>
</LinearLayout>
</layout>
activity
override fun initView() {
adapter= TemplateAdapter(R.layout.item_h_rv)
manager = getRvController(context, binding.rvH, adapter)
val list= mutableListOf<String>()
repeat(30){
list.add("1")
}
manager.setRvData(list)
if (!adapter.hasHeaderLayout()) {
val view = LayoutInflater.from(this).inflate(R.layout.head_h_rv, null, false)
adapter.setHeaderView(view)
}
}
注:此处创建不为空的list,若为空,则显示空布局,即使在布局中写定item的值,也显示空布局;不为空,若未在适配器中适配,则会显示布局中写定中的数据,适配且绑定后,会显示list中的数据。
效果展示