Android(安卓)自定义adapter的getView中的ViewGroup parent的宽度不正确
16lz
2021-01-26
RT
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的实际宽度
更多相关文章
- Preference 使用详解
- android根目录获取
- Android——Fragment的静态注册和动态注册(含源码下载)
- ListView的Adapter使用(绑定数据) 之 自定义每一项的布局去绑定
- android--由文件名获取文件Id的两种方法
- android浏览器研究-UserAgent
- Android布局中ScrollView与ListView的冲突
- android Launcher3中定制第三方apk图标,实现类似主题功能
- 关于Android(安卓)studio打包发布,以及Android签名的获取