问题描述
我有一个RecyclerView
。我希望“单元格”占据RecyclerView
的整个宽度,但不是。
override fun onCreateViewHolder(parent: ViewGroup,viewType: Int): MyHolder {
val binding = MyCellBinding.inflate(layoutInflater)
// here,binding.root.layoutParams is null ??
return MyHolder(binding)
}
MyHolder
类是通常的ViewHolder
子类。
MyCellBinding
来自layout/my_cell.xml
。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent" ← ✅
android:layout_height="match_parent" ← ✅
android:padding="8dp">
<TextView android:id="@+id/title"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
...
</LinearLayout>
正确创建了layout_width/height
上的TextView
,但是由于某些原因,LayoutParams
-binding.root
上没有LinearLayout
。因此,当它显示在列表中时,其宽度与TextView
一样。
我可以使用LayoutInspector来查看LinearLayout
的父级是RecyclerView
。
为什么根layout_width
的{{1}}和layout_height
不能从XML中夸大?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)