首先先介绍下需求:
![](https://img.haomeiwen.com/i8776939/48162e154e168329.png)
哇 就这么简单的一个需求 小case:
一个头像组合控件最多显示5张图片,右边是一个textview :
看下原来的xml 方案:
<Relayivelayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="16dp/>
<pileView android:id="@+id/pv_photos"
android:layout_width="wrap_content"
android:layout_height="30dp"
android:layout_marginRight="15dp"/>
<Textview
android:id="@+id/tv_video_learn_num"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@id/pv_photos"
android:layout_toRightOf="@id/pv_photos"
android:textColor="#999999"
android:textSize="12sp" />
/Relativelayout>
运行后在大部分机型上没什么问题,也堪称完美。
但是之而后问题来了 在做兼容性测试的时候,在小米Max2 上死活只能显示4张图片,那剩余的一张图片呢?
在加载的图片的地方加了log ,log 确实显示加载了五张图片,这问题严重了。。 然后就一通乱改? 是view 复用的问题?头像组合控件绘制问题? 布局问题?小米的UI做了什么特殊处理?
第一次尝试:给pileview 设置一个宽度150dp 然后显示了5张 解决了显示4张的问题,但是这个控件初衷是为了自适应宽度 所以放弃
第二次尝试:给relativelayout 设置 matchparent 发现并没有什么卵用
算了干脆换成
<LinearLayout android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@id/iv_type_video"
android:layout_marginLeft="16dp"
android:layout_toRightOf="@id/iv_type_video"
android:orientation="horizontal">
<PileAvertView
android:id="@+id/pv_before_photos"
android:layout_width="wrap_content"
android:layout_height="30dp"
android:layout_marginRight="15dp">
<TextView
android:id="@+id/tv_video_learn_num"
android:layout_width="wrap_content"
android:layout_height="30dp"
android:gravity="bottom"
android:textColor="#999999"
android:textSize="12sp" />
第一次写 写的不好 勿喷 ,还会坚持
网友评论