首页 > 解决方案 > android底部工作表调整视图

问题描述

我想调整底部工作表上方的视图大小。在里面的这个视图中,我得到一个 imageView 和这个视图的最小高度,我想得到这个和这个图像一样的高度。我这样做,但效果不好

private fun setBottomSheetCallback() {
    bottomSheetBehavior.setBottomSheetCallback(object :
        BottomSheetBehavior.BottomSheetCallback() {
        override fun onStateChanged(bottomSheet: View, newState: Int) {}
        override fun onSlide(bottomSheet: View, slideOffset: Float) {
            val h = bottomSheet.height.toFloat()
            val off = h * slideOffset


            var a =
                (getScreenHeight(this@EventActivity) - (bottomSheet.height * slideOffset).toInt()).toInt()
            Log.e("botton panel ", "${bottom_panel.height}")
            val params: ViewGroup.LayoutParams = test_view.layoutParams

            params.height = a
            test_view.layoutParams = params


            val upperState = 0.66
            val lowerState = 0.33
            if (bottomSheetBehavior.state == BottomSheetBehavior.STATE_SETTLING) {
                if (slideOffset >= upperState) {
                    bottomSheetBehavior.state =
                        BottomSheetBehavior.STATE_EXPANDED
                }
                if (slideOffset > lowerState && slideOffset < upperState) {
                    bottomSheetBehavior.state =
                        BottomSheetBehavior.STATE_HALF_EXPANDED
                }
                if (slideOffset <= lowerState) {
                    bottomSheetBehavior.state =
                        BottomSheetBehavior.STATE_COLLAPSED
                }
            }
            eventModel.bottomState = bottomSheetBehavior.state
        }

    })
}

标签: androidkotlin

解决方案


推荐阅读