我正在研究回收者的观点,但我面临一个问题:项目对齐方式不正确。2如何解决此问题?
我需要的项目,以匹配父的宽度。
我想要的
问题
代码:-适配器-类取消预订适配器(值数据: 列表,值回调:<CancelReasonsResponse.Data>取消预订回叫):回收器视图适配器(){ RecyclerView.Adapter<CancelBookingAdapter.ViewHolder>() {
var selectedPosition = -1
var comments = ""
class ViewHolder(val binding: CancelAdapterBinding) : RecyclerView.ViewHolder(binding.root)
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
val binding = CancelAdapterBinding.inflate(LayoutInflater.from(parent.context),null,false)
val lp = RecyclerView.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT)
return ViewHolder(binding)
}
enter code here
override fun onBindViewHolder(holder: ViewHolder, position: Int) {
holder.binding.apply {
tvReasonText.text = data[position].title
if (selectedPosition == -1) {
comments = ""
}else {
comments = data[position].title
}
if (selectedPosition == position) {
llReason.setBackgroundResource(R.drawable.selected_box)
}else {
llReason.setBackgroundResource(R.drawable.cancel_outline)
}
llReason.setOnClickListener {
selectedPosition = holder.adapterPosition
callBack.onClickCheckBox(data[position].id, comments)
selectedPosition = position
notifyDataSetChanged()
}
}
}
override fun getItemCount(): Int {
return data.size
}
}
接口取消预订回调{单击复选框(原因ID:内部备注:字符串)}
项目XML-
<androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="match_parent"
android:layout_height="wrap_content">
<androidx.appcompat.widget.LinearLayoutCompat
android:id="@+id/llReason"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="@dimen/_12sdp"
android:gravity="center"
android:background="@drawable/cancel_outline"
android:layout_marginBottom="@dimen/_12sdp">
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tvReasonText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="@font/space_grotesk_bold"
android:gravity="center"
android:text="@string/cancel_booking"
android:textSize="14sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.appcompat.widget.LinearLayoutCompat>
</androidx.appcompat.widget.LinearLayoutCompat>
2条答案
按热度按时间2hh7jdfx1#
mpbci0fu2#
使用此代码可以最大化宽度。
安卓系统:布局宽度=“匹配父项”或安卓系统:布局宽度=“0dp”
这段代码将帮助你居中文本
机器人:文本对齐=“中心”