Android:我无法获得ViewPagerWack_Content

Android:我无法获得ViewPagerWack_Content

我已经设置了一个简单的ViewPager,它在每个页面上都有一个高度为200 dp的ImageView。

这是我的寻呼机:

pager = new ViewPager(this);pager.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT));
pager.setBackgroundColor(Color.WHITE);pager.setOnPageChangeListener(listener);layout.addView(pager);

尽管高度设置为WARE_Content,但寻呼机总是填充屏幕,即使图像视图只有200 dp。我试着用“200”代替传呼机的高度,但这给了我不同的分辨率。我无法将“DP”添加到这个值中。如何将200 dp添加到寻呼机的布局中?


收到一只叮咚
浏览 267回答 3
3回答

慕少森

超越你的ViewPager如下所示,它将获得目前最大的孩子的身高。@Overrideprotected&nbsp;void&nbsp;onMeasure(int&nbsp;widthMeasureSpec,&nbsp;int&nbsp;heightMeasureSpec)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;height&nbsp;=&nbsp;0; &nbsp;&nbsp;&nbsp;&nbsp;for(int&nbsp;i&nbsp;=&nbsp;0;&nbsp;i&nbsp;<&nbsp;getChildCount();&nbsp;i++)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;View&nbsp;child&nbsp;=&nbsp;getChildAt(i); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;child.measure(widthMeasureSpec,&nbsp;MeasureSpec.makeMeasureSpec(0,&nbsp;MeasureSpec.UNSPECIFIED)); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;h&nbsp;=&nbsp;child.getMeasuredHeight(); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(h&nbsp;>&nbsp;height)&nbsp;height&nbsp;=&nbsp;h; &nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(height&nbsp;!=&nbsp;0)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;heightMeasureSpec&nbsp;=&nbsp;MeasureSpec.makeMeasureSpec(height,&nbsp;MeasureSpec.EXACTLY); &nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;super.onMeasure(widthMeasureSpec,&nbsp;heightMeasureSpec);}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Android