我正在嘗試在 a 中垂直移動視圖BottoSheetDialog,但出現了意想不到的行為。
我的BottomSheet長相是這樣的
翻譯前
我正在移動我的約束布局
myLayout.animate().translationY(-100f).setStartDelay(0).start()
就是BottomSheet翻譯后的樣子:
過渡后
如何BottomSheet動態增加大小以跟隨翻譯?
uj5u.com熱心網友回復:
據我所知,您可以以BottomSheet編程方式更改高度,在我的應用程式中,如果可能,我使用以下代碼使BottomSheet對話框采用螢屏的高度:
BottomSheetBehavior mBehavior = BottomSheetBehavior.from((View) sheetView.getParent());
mBehavior.setPeekHeight((int) (ScreenUtils.getScreenHeight()));
所以在你的情況下:
(int) (ScreenUtils.getScreenHeight())隨您的尺寸值而變化。
uj5u.com熱心網友回復:
我找到了解決此問題的替代解決方案。我剛剛在布局底部添加了一個高度為 1dp 的空視圖。我正在像這樣增加它的大小
val anim = ValueAnimator.ofInt(AnimationView.measuredHeight, 100)
anim.addUpdateListener()
{
valueAnimator ->
val value = valueAnimator.animatedValue as Int
val layoutParams: ViewGroup.LayoutParams = AnimationView.layoutParams
layoutParams.height = value
AnimationView.layoutParams = layoutParams
}
anim.duration = 500
anim.start()
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/460529.html
下一篇:約束布局流助手子級的分隔線裝飾
