您的位置:首页 > 其它

仿三星任务管理器,滑动删除ListView

2016-07-02 18:52 736 查看
简单demo应用效果如下



因为觉得自己手机三星note5按窗口键的效果还不错,就想他是怎么实现的.最后做了一个类似的效果.

丑话说着前面,先说我觉得有待改善的性能

由于针对模仿太强,拓展性不是很好,要改动不好改

有一些魔术数字,完全是靠感觉猜出来的,但都是比例而没有绝对像素值

没有启动view复用,而是把所有view一并加载,当view多了时可能会卡

功能说明

分布时大小由小到大排列

滑动到底部或顶部还会反弹

横滑删除item带补完动画,以及其他item自动上移或下移的动画

item个数过小会适当分布

item没有做复用,所以写adapter也根本不需要ViewHolder,因为contentView永远==null

d3ListView.setAdapter(new BaseAdapter() {

@Override
public View getView(final int position, View convertView, ViewGroup parent) {
convertView = View.inflate(ThirdActivity.this, R.layout.item_samsung_page, null);
ImageView  imageView = (ImageView) convertView.findViewById(R.id.imageView1);
TextView textView = (TextView) convertView.findViewById(R.id.textView1);

imageView.setBackgroundColor(colors[position % 5]);
textView.setText("" + position);
convertView.setOnLongClickListener(new OnLongClickListener() {

@Override
public boolean onLongClick(View v) {
Log.d("px", "onLongClick:" + position);
return false;
}
});
return convertView;
}

@Override
public long getItemId(int position) {
return 0;
}

@Override
public Integer getItem(int position) {
return colors[position % 5];
}

@Override
public int getCount() {
return colors.length * 5;
}
});


长按事件什么的没有提供onItemLongClick接口,在getView里面对View实现吧.

git地址

https://git.oschina.net/dxtx100/ScrollDeleteListView.git
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: