Android 自定义adapter的getView中的ViewGroup parent的宽度不正确
2015-08-06 17:04
531 查看
RT
如果获取通过自定义Adapter的getView中的ViewGroup parent.getMeasuredWidth()获取的宽度为最大的宽度。非ListView实际宽度,具体可看看API。 (为检测是布局中的大小还是屏幕尺寸)
如果在ListView还未赋值之前获取ListView的宽度是-1
要获取ListView的实际宽度可以简单的写成
parent.getMeasuredWidth()- ll_content.getPaddingLeft() - ll_content.getPaddingRight()
就可以获取到当前listView的实际宽度
Android 自定义adapter的getView中的ViewGroup parent的宽度不正确
ViewGroup.getMeasuredWidth() 可以获取到当前Activity的宽度,但是如果是在内部布局文件中添加了Padding这里是获取不到的<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/ll_content" android:layout_width="match_parent" android:layout_height="wrap_content" android:paddingLeft="30dp" android:paddingRight="30dp" > <ListView android:id="@+id/lv_list" android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center" > </ListView> </LinearLayout>
如果获取通过自定义Adapter的getView中的ViewGroup parent.getMeasuredWidth()获取的宽度为最大的宽度。非ListView实际宽度,具体可看看API。 (为检测是布局中的大小还是屏幕尺寸)
如果在ListView还未赋值之前获取ListView的宽度是-1
要获取ListView的实际宽度可以简单的写成
parent.getMeasuredWidth()- ll_content.getPaddingLeft() - ll_content.getPaddingRight()
就可以获取到当前listView的实际宽度
相关文章推荐
- Android 自定义View实现画背景和前景(ViewGroup篇)
- 自定义ViewGroup (1)支持margin,gravity以及水平,垂直排列
- 自定义ViewGroup (2)支持滑动,并处理多指触摸可能产生的跳动问题
- 自定义ViewGroup (3) 与子View之间 Touch Event的拦截与处理
- 封装横向滚动View
- android之自定义ViewGroup和自动换行的布局的实现
- Android 自定义ViewGroup手把手教你实现ArcMenu
- 4000 android UI之View和ViewGroups简介
- android 事件分发机制完全解析 从源码开始(下)
- TouchEvent分发过程一:TouchEvent在ViewGroup中的分发过程
- 自定义ViewGroup实现水平布局空间不足自动换行的效果
- android自定义adapter和bundle的使用
- android中点击viewgroup时,子控件也会变成被点击的状态的原因及解决方法
- Android自定义控件浅谈
- android 自定义Adapter
- 深入理解Android中ViewGroup
- ViewGroup的OnInterceptTouchEvent方法的调用特点
- ViewGroup的背景自适应问题
- 浅析ViewGroup中的MeasureSpec和LayoutParams
- Android 之 Window、WindowManager 与窗口管理