一、Android View
1.1 代码中设置layout_behavior
CoordinatorLayout.LayoutParams lp=(CoordinatorLayout.LayoutParams)getAppBarLayout().getLayoutParams();
lp.setBehavior(new AdaptiveBehavior());
1.2 可设置最大高度AdaptiveHeightScrollView
class AdaptiveHeightScrollView @JvmOverloads constructor(
context: Context,
attrs: AttributeSet? = null,
defStyleAttr: Int = 0
) : ScrollView(context, attrs, defStyleAttr) {
private var mMaxHeight = 0
init {
val typedArray = context.obtainStyledAttributes(attrs, R.styleable.AdaptiveHeightScrollView)
mMaxHeight=typedArray.getLayoutDimension(R.styleable.AdaptiveHeightScrollView_maxHeight, mMaxHeight)
typedArray.recycle()
}
override fun onMeasure(widthMeasureSpec: Int, heightMeasureSpec: Int) {
var mHeightMeasureSpec=heightMeasureSpec
if (mMaxHeight>0){
mHeightMeasureSpec=MeasureSpec.makeMeasureSpec(mMaxHeight,MeasureSpec.AT_MOST)
}
super.onMeasure(widthMeasureSpec, mHeightMeasureSpec)
}
}
android:scrollbars=“vertical” xml中需要设置,不然滚动条不显示