最近项目遇到一个独特需求
如图,热搜词可换,数量不定,不可滑动,如果有超出显示,则不显示,就是不能用...,如果超出界面,就不显示这个词.
简单弹一下我的完成思路,萌新选手,大神勿喷.
1.拿到需求的第一反应,用recyleview列表做,简单尝试后发现,完全实现不了,因为即使设置recyleview不可滑动,也不能做到超出布局后的不显示需求,而且完全用不到复用,所以就有了下一步自定义个view来实现
2.自定义一个view,继承LinearLayout,测一下父布局宽度,动态添加textView,超出宽度则停止添加
实现:直接上代码,注释
public class HotSearchView extends LinearLayout {
private List<String> mList;
private Context mContext;
private boolean isOver;//添加view时,此view绘制了很多遍,用boolean值控制,只有第一次和设置更换数据时才添加textView
public HotSearchView(Context context) {
super(context);
mContext = context;
init();
}
public HotSearchView(Context context, @Nullable AttributeSet attrs) {
super(context, attrs);
mContext = context;
init();
}
publi