Commit c25e7e35 authored by yinjiacheng's avatar yinjiacheng

fix UI走查 底部选择弹窗

parent 7c6f67e2
...@@ -4,6 +4,8 @@ import android.content.Context ...@@ -4,6 +4,8 @@ import android.content.Context
import android.view.Gravity import android.view.Gravity
import android.view.View import android.view.View
import android.view.WindowManager import android.view.WindowManager
import androidx.core.content.ContextCompat
import androidx.recyclerview.widget.DividerItemDecoration
import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.LinearLayoutManager
import com.yidian.common.base.BaseDialog import com.yidian.common.base.BaseDialog
import com.yidian.shenghuoquan.newscontent.R import com.yidian.shenghuoquan.newscontent.R
...@@ -17,44 +19,48 @@ import com.yidian.shenghuoquan.newscontent.databinding.DialogBottomSelectBinding ...@@ -17,44 +19,48 @@ import com.yidian.shenghuoquan.newscontent.databinding.DialogBottomSelectBinding
* description: 底部选择dialog * description: 底部选择dialog
*/ */
class BottomSelectDialog<T : BottomSelectBean> @JvmOverloads constructor( class BottomSelectDialog<T : BottomSelectBean> @JvmOverloads constructor(
context: Context, context: Context,
val listener: BottomSelectAdapter.OnItemClickListener<T>? = null, val listener: BottomSelectAdapter.OnItemClickListener<T>? = null,
val data: ArrayList<T>? = null val data: ArrayList<T>? = null
) : ) :
BaseDialog<DialogBottomSelectBinding>(context), View.OnClickListener, BaseDialog<DialogBottomSelectBinding>(context), View.OnClickListener,
BottomSelectAdapter.OnItemClickListener<T> { BottomSelectAdapter.OnItemClickListener<T> {
override fun createViewBinding(): DialogBottomSelectBinding { override fun createViewBinding(): DialogBottomSelectBinding {
return DialogBottomSelectBinding.inflate(layoutInflater) return DialogBottomSelectBinding.inflate(layoutInflater)
} }
override fun initView() { override fun initView() {
viewBinding.rvSelectItems.layoutManager = viewBinding.rvSelectItems.layoutManager =
LinearLayoutManager(context, LinearLayoutManager.VERTICAL, false) LinearLayoutManager(context, LinearLayoutManager.VERTICAL, false)
viewBinding.rvSelectItems.adapter = BottomSelectAdapter(data, this) 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() { override fun initListener() {
viewBinding.tvCancel.setOnClickListener(this) viewBinding.tvCancel.setOnClickListener(this)
} }
override fun onClick(v: View?) { override fun onClick(v: View?) {
if (v?.id == R.id.tv_cancel) { if (v?.id == R.id.tv_cancel) {
dismiss() dismiss()
}
} }
}
override fun show() { override fun show() {
super.show() super.show()
window?.setGravity(Gravity.BOTTOM) window?.setGravity(Gravity.BOTTOM)
val params = window?.attributes val params = window?.attributes
params?.width = WindowManager.LayoutParams.MATCH_PARENT params?.width = WindowManager.LayoutParams.MATCH_PARENT
params?.height = WindowManager.LayoutParams.WRAP_CONTENT params?.height = WindowManager.LayoutParams.WRAP_CONTENT
window?.attributes = params window?.attributes = params
} }
override fun onItemClick(view: View, position: Int, data: T) { override fun onItemClick(view: View, position: Int, data: T) {
dismiss() dismiss()
listener?.onItemClick(view, position, data) listener?.onItemClick(view, position, data)
} }
} }
\ No newline at end of file
<?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 @@ ...@@ -9,6 +9,8 @@
android:id="@+id/rv_select_items" android:id="@+id/rv_select_items"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:paddingStart="19dp"
android:paddingEnd="19dp"
app:layout_constraintBottom_toTopOf="@id/view_divider" app:layout_constraintBottom_toTopOf="@id/view_divider"
app:layout_constraintTop_toTopOf="parent" /> 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