前段时间项目中有用到类似像微信发起群聊的功能,现在整理了出来 分享给大家
效果图如下:
选中后 添加到下面的选择栏中 ,点击选择栏中已选择的 就取消选择
简单说下思路:
自定义HorizontalScrollView
每次在ListView中选中一个item 就加入到咱们的horizontalScrollView中去
已经选中的 再次中就移除
不多说,直接贴代码:
public class MyHorizontalScroll extends HorizontalScrollView {
private LinearLayout mLinearLayout;
private Map<String,UserBean> map;
private List<UserBean> list; //用来顺序存储加入的信息
/**
* 默认文字
*/
private TextView defaultTv;
private boolean isFirst;
/**
* 内容控件的宽高
*/
private int contentWidthPx;
private int contentHeightPx;
public MyHorizontalScroll(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
init();
}
public MyHorizontalScroll(Context context) {
super(context);
init();
}
public MyHorizontalScroll(Context context, AttributeSet attrs) {
super(context, attrs);
init();
}
private void init() {
if(map == null){
map = new HashMap<String,UserBean>();
}
contentWidthPx = DensityUtil.dip2px(getContext(), 60);
contentHeightPx = DensityUtil.dip2px(getContext(), 80);
//设置默认提示文字样式
defaultTv = new TextView(getContext());
defaultTv.setText("请添加群聊成员&