android - 根据父宽度设置recyclerview子宽度相等
问题描述
我想创建一个使用 recyclerview 水平对齐的视图列表。我想平均分割 recyclerview 的宽度,以便所有这些视图都可以放在一行内。观看次数是动态的
这是一个简单的最终结果,我使用 HTML 和 CSS 创建了它。
我可以使用 recyclerview 在 android 中实现相同的功能吗?
以下是我的 recyclerview 适配器,holder.root
是每个视图的容器。我正在考虑获取 recyclerview 宽度并将其除以视图数量并将该值设置为每个视图的宽度。
class ThreadsAdapter(
private val threads: ArrayList<ThreadInfo>
): RecyclerView.Adapter<ThreadsAdapter.ViewHolder>() {
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
val view = LayoutInflater.from(parent.context).inflate(R.layout.layout_progress_thread, parent, false)
return ViewHolder(view)
}
override fun getItemCount(): Int {
return threads.size
}
override fun onBindViewHolder(holder: ViewHolder, position: Int) {
holder.root.layoutParams.width = 40 // just testing
}
class ViewHolder(v: View): RecyclerView.ViewHolder(v) {
val progressBar: ProgressBar = v.findViewById(R.id.progressBar)
var root: ConstraintLayout = v.findViewById(R.id.root)
}
}
解决方案
最终,我在 Github 上找到了这个库,允许我在 android 中使用 Flexbox 布局
推荐阅读
- python - 在指定索引上将两个数据帧相乘
- java - Java 异常 java.sql.SQLException: HikariDataSource HikariDataSource (HikariPool-1) 已关闭
- python - 无法 Webscrape 下拉项 [Python][beautifulsoup]
- reactjs - 在 React-Apollo-client 中获取重复响应
- javascript - 得到 $max 的字符串
- css - 材料步进控制 - 减少标题之间的空间
- amazon-ec2 - Jar 文件的图像未显示在网络中
- jquery - 数据表仅返回选择事件的最后一行
- java - 我是否需要在模式注册表下为 kafka 流更改日志主题注册模式?
- java - 如何从 Apache Camel 中的码头端点发送 JSON 回复?