rcj6056:
各位安卓大佬 求助下
仿照个效果 点击页面按钮弹出一个 bottomSheetDialog dialog.show 的时候
为什么没有走 onSlide 回调呢 导致我在 dialog 弹出来的时候没拿到 slideOffset 偏移量 没法设置跟布局的缩放动画
但是在拖动的时候确实是回调了 onSlide 这是为啥
val bottomSheetDialog = BottomSheetDialog(requireActivity())
val inflate = layoutInflater.inflate(R.layout.bottom_sheet_layout, null)
var gridView = inflate.findViewById<GridView>(R.id.gv)
gridView.adapter = GridAdapter(requireActivity())
bottomSheetDialog.setContentView(inflate)
val behavior = BottomSheetBehavior.from(inflate.parent as ViewGroup)
behavior.addBottomSheetCallback(object : BottomSheetBehavior.BottomSheetCallback() {
override fun onStateChanged(bottomSheet: View, newState: Int) {
when (newState) {
BottomSheetBehavior.STATE_EXPANDED -> Log.i(TAG, " onStateChanged, STATE_EXPANDED")
BottomSheetBehavior.STATE_COLLAPSED -> {
Log.i(TAG, ",onStateChanged STATE_COLLAPSED")
}
BottomSheetBehavior.STATE_HIDDEN -> Log.i(TAG, ", onStateChanged STATE_HIDDEN")
}
}
override fun onSlide(bottomSheet: View, slideOffset: Float) {
Log.i(TAG, ", onSlide STATE_EXPANDED slideOffset :${slideOffset}")
slideOffsetListener?.onSlideOffsetChanged(slideOffset)
}
})
bottomSheetDialog.show()
后续拖动的时候回调了 onSlide 拿到了偏移量 很奇怪