Android-StickyNavLayout icon indicating copy to clipboard operation
Android-StickyNavLayout copied to clipboard

您好,这个效果不错,但是有一个问题,就是标题如果在StickyNavLayout的外面,高度为50dp,然后listview最下面总是计算少了50dp

Open hanguodong opened this issue 9 years ago • 7 comments

您好,这个效果不错,但是有一个问题,就是标题如果在StickyNavLayout的外面,高度为50dp,然后listview最下面总是计算少了50dp

hanguodong avatar May 09 '16 03:05 hanguodong

我也遇到了这个问题,不知道你是怎么解决的?

LinF2015 avatar Aug 04 '16 08:08 LinF2015

给listView设置marginBottom= 50dp就可以了

hxkdidi avatar Feb 14 '17 02:02 hxkdidi

原因找到了吗?

823546371 avatar Aug 28 '17 09:08 823546371

已经换了一个兼容性比较好的ScrollableLayout了

hxkdidi avatar Aug 29 '17 02:08 hxkdidi

我的解决方案:
@Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { //不限制顶部的高度 Log.d(TAG, "onMeasure: "); super.onMeasure(widthMeasureSpec, heightMeasureSpec); getChildAt(0).measure(widthMeasureSpec, MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED)); ViewGroup.LayoutParams params = mViewPager.getLayoutParams(); params.height = getMeasuredHeight() - mNav.getMeasuredHeight(); super.onMeasure(widthMeasureSpec, heightMeasureSpec);//要重新测量 setMeasuredDimension(getMeasuredWidth(), mTop.getMeasuredHeight() + mNav.getMeasuredHeight() + mViewPager.getMeasuredHeight()); }

xiayu98020214 avatar Oct 11 '17 01:10 xiayu98020214

我还试过让viewpager.height = UNSPECIFIED, 也没有成功. 不过@xiayu98020214的两次super.onMeasure()确实有效.
但原方案中的getChildAt(0)设置为UNSPECIFIED, 好像没有必要.

songzhw avatar Jan 24 '18 01:01 songzhw

@xiayu98020214 用了一下你这个感觉可以,想问下 为啥要重新测量啊,不怎么懂

HuJunYan avatar Sep 17 '18 06:09 HuJunYan