Commit c25e7e35 authored by yinjiacheng's avatar yinjiacheng

fix UI走查 底部选择弹窗

parent 7c6f67e2
......@@ -4,6 +4,8 @@ import android.content.Context
import android.view.Gravity
import android.view.View
import android.view.WindowManager
import androidx.core.content.ContextCompat
import androidx.recyclerview.widget.DividerItemDecoration
import androidx.recyclerview.widget.LinearLayoutManager
import com.yidian.common.base.BaseDialog
import com.yidian.shenghuoquan.newscontent.R
......@@ -17,44 +19,48 @@ import com.yidian.shenghuoquan.newscontent.databinding.DialogBottomSelectBinding
* description: 底部选择dialog
*/
class BottomSelectDialog<T : BottomSelectBean> @JvmOverloads constructor(
context: Context,
val listener: BottomSelectAdapter.OnItemClickListener<T>? = null,
val data: ArrayList<T>? = null
context: Context,
val listener: BottomSelectAdapter.OnItemClickListener<T>? = null,
val data: ArrayList<T>? = null
) :
BaseDialog<DialogBottomSelectBinding>(context), View.OnClickListener,
BottomSelectAdapter.OnItemClickListener<T> {
BaseDialog<DialogBottomSelectBinding>(context), View.OnClickListener,
BottomSelectAdapter.OnItemClickListener<T> {
override fun createViewBinding(): DialogBottomSelectBinding {
return DialogBottomSelectBinding.inflate(layoutInflater)
}
override fun createViewBinding(): DialogBottomSelectBinding {
return DialogBottomSelectBinding.inflate(layoutInflater)
}
override fun initView() {
viewBinding.rvSelectItems.layoutManager =
LinearLayoutManager(context, LinearLayoutManager.VERTICAL, false)
viewBinding.rvSelectItems.adapter = BottomSelectAdapter(data, this)
}
override fun initView() {
viewBinding.rvSelectItems.layoutManager =
LinearLayoutManager(context, LinearLayoutManager.VERTICAL, false)
viewBinding.rvSelectItems.adapter = BottomSelectAdapter(data, this)
// 分割线
val decoration = DividerItemDecoration(context, DividerItemDecoration.VERTICAL)
ContextCompat.getDrawable(context, R.drawable.shape_bottom_select_item_divider)?.let { decoration.setDrawable(it) }
viewBinding.rvSelectItems.addItemDecoration(decoration)
}
override fun initListener() {
viewBinding.tvCancel.setOnClickListener(this)
}
override fun initListener() {
viewBinding.tvCancel.setOnClickListener(this)
}
override fun onClick(v: View?) {
if (v?.id == R.id.tv_cancel) {
dismiss()
}
override fun onClick(v: View?) {
if (v?.id == R.id.tv_cancel) {
dismiss()
}
}
override fun show() {
super.show()
window?.setGravity(Gravity.BOTTOM)
val params = window?.attributes
params?.width = WindowManager.LayoutParams.MATCH_PARENT
params?.height = WindowManager.LayoutParams.WRAP_CONTENT
window?.attributes = params
}
override fun show() {
super.show()
window?.setGravity(Gravity.BOTTOM)
val params = window?.attributes
params?.width = WindowManager.LayoutParams.MATCH_PARENT
params?.height = WindowManager.LayoutParams.WRAP_CONTENT
window?.attributes = params
}
override fun onItemClick(view: View, position: Int, data: T) {
dismiss()
listener?.onItemClick(view, position, data)
}
}
\ No newline at end of file
override fun onItemClick(view: View, position: Int, data: T) {
dismiss()
listener?.onItemClick(view, position, data)
}
}
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="@color/color_FFF2F2F2" />
<size android:height="0.5dp" />
</shape>
\ No newline at end of file
......@@ -9,6 +9,8 @@
android:id="@+id/rv_select_items"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingStart="19dp"
android:paddingEnd="19dp"
app:layout_constraintBottom_toTopOf="@id/view_divider"
app:layout_constraintTop_toTopOf="parent" />
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment