MotionLayout遇到的问题

1,206 阅读1分钟

一:TextView显示不全

问题描述:

布局中使用tool:text="我系渣渣灰"或android:text="我系渣渣灰",但进行网络请求后或要改变该textView的内容且长度不为之前的“我系渣渣灰”五个字符的长度,就会出现问题,此时需要改变文字后MotionLayout再次加载scene

解决办法:

motionLayout.rebuildScene()

如果外部搭配使用了AppBarLayout且重新rebuildScene()后需要稍微滑动才正常,可以添加如下代码(注意Behavior是否跟我的一致)

val behavior = (mAppBarLayout.layoutParams as CoordinatorLayout.LayoutParams).behavior
if (behavior is AppBarLayout.Behavior) {
    // 代码设置让appBarLayout稍微滚动一下
    behavior.topAndBottomOffset = -1
}

本文使用 mdnice 排版