我正在尝试在listadapter中填充此资源:
<FrameLayout xmlns:androID="@R_404_6822@://schemas.androID.com/apk/res/androID" androID:layout_wIDth="200dp" androID:layout_height="200dp" androID:background="#ff0000" androID:padding="@dimen/spacing_micro" > <VIEw androID:layout_wIDth="match_parent" androID:layout_height="match_parent" androID:layout_margin="10dp" androID:background="#00ff00"/></FrameLayout>
使用以下代码:
@OverrIDepublic VIEw getVIEw(int position, VIEw convertVIEw, VIEwGroup parent) { VIEwGroup vIEw = (VIEwGroup) convertVIEw; if (vIEw == null) { vIEw = (VIEwGroup) LayoutInflater.from(getContext()).inflate(R.layout.myvIEw, parent, false); } return vIEw;}
尽管我用200dp的高度和宽度指定了myvIEw的根,但它完全忽略了大小,并导致大小为0x0.
在代码中指定自定义高度和宽度会导致视图采用父级的尺寸,而再次忽略了我的200dp偏好设置:
VIEwGroup.LayoutParams layoutParams = (VIEwGroup.LayoutParams) vIEw.getLayoutParams();layoutParams.height = dptopx(200);layoutParams.wIDth = dptopx(200);vIEw.setLayoutParams(layoutParams);
我如何实现我想要的目标,将VIEw的根设为200x200dp,并且其子代的大小与match_parent相对?
解决方法:
尝试用一些父布局包装您的FrameLayout,这些父布局具有为match_parent指定的layout_wIDth和layout_height属性.然后,在该父对象中,您可以设置FrameLayout的大小和重力-
总结以上是内存溢出为你收集整理的适配器中的布局夸大忽略大小全部内容,希望文章能够帮你解决适配器中的布局夸大忽略大小所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)