
我正在以编程方式添加horizontalScrollVIEw,但是当我尝试执行horizontalScrollVIEw.getMeasureDWIDth()时,它始终返回0.
voID addcategory(String catTitle) { mVIDeos = mShows.get(catTitle); linearLayout theLayout = (linearLayout)findVIEwByID(R.ID.activitymain); TextVIEw textvIEw=(TextVIEw)getLayoutInflater().inflate(R.layout.categoryTitle,null); textvIEw.setTextcolor(color.CYAN); textvIEw.setTextSize(20); textvIEw.setText(catTitle); horizontalscrollview horizontalScroll = new horizontalscrollview (this,null); linearLayout LL = new linearLayout(this); LL.setorIEntation(linearLayout.HORIZONTAL); LayoutParams LLParams = new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT); LL.setLayoutParams(LLParams); HorizontalgalleryAdapter adapter = new HorizontalgalleryAdapter(this,mVIDeos); for (int i = 0; i < adapter.getCount(); i++) { VIEw item = adapter.getVIEw(i, null, null); LL.addVIEw(item); } horizontalScroll.addVIEw(LL); int maxScrollX = horizontalScroll.getChildAt(0).getMeasureDWIDth()-horizontalScroll.getMeasureDWIDth(); AlertDialog alertDialog = new AlertDialog.Builder(this).create(); alertDialog.setTitle("reset..."); String max= String.valueOf(maxScrollX);解决方法:
好的,我看到了问题.您创建一个HorizontalScrollVIEw,向其添加一个子项,然后立即尝试获取其测量的宽度.
你不可以做这个.您必须先将水平滚动视图添加到活动中现有的已绘制视图中,因为否则还没有设置尺寸.
想想看如何知道WRAP_CONTENT在您将其放置在视图中之前将尺寸设置为多少像素?如果将其添加到活动中的现有视图中,则该WRAP_CONTENT实际上将转换为某个高度.
看起来有点像一个循环-horizontalScroll的尺寸取决于其内容(WRAP_CONTENT),而内容的尺寸(linearLayout的尺寸)取决于horizontalScroll的尺寸.这根本不符合逻辑.也许尝试MATCH_PARENT至少获取水平滚动视图的宽度尺寸.然后,确保在绘制视图之前不要查看尺寸.
总结以上是内存溢出为你收集整理的android-HorizontalScrollView.getMeasuredWidth()返回0全部内容,希望文章能够帮你解决android-HorizontalScrollView.getMeasuredWidth()返回0所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)