android - 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
}
})
}
解决方案
推荐阅读
- python - Flask-ask AttributeError:模块'lib'没有属性'X509V3_EXT_get'
- java - 为什么我的 SPOJ 经典问题 5 超过了时间限制?
- c# - 从 Foreach 中的集合中删除单个元素
- c# - 如何使用 C# Asp.net 从我自己的 youtube 频道检索订阅者列表?
- javascript - ES6 对象用字符串传播
- python - Python SQLAlchemy获取匹配行和列相同的下一行
- r - grep and like when subsetting with parentheses
- ruby-on-rails - 在 rails appi 中构建帮助
- java - How to send input from EditText as Json to Java server?
- c# - How to use AWS CopyObjectRequest when Source and Destination buckets have different AccessKey & Secret