标题可能表达的不是很清楚 就是一个 一个listview 或者 RecyclerView(纵向) 设置Item间距以后让点击的Item尺寸变大变宽的效果 请问这要怎么实现呢?哪种列表都可以,求一个方法!!
点击是调用属性动画,设置item layoutparams.height
你试试吧,很简单,只是让padding变大了,然后scale变大了
public class MyListView extends ListView {
public final static float SCALE = 1.2f;
private View targetView;
public MyListView(Context context) {
super(context);
}
public MyListView(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
public boolean onTouchEvent(MotionEvent ev) {
switch (ev.getAction()){
case MotionEvent.ACTION_DOWN:
int XDonw = (int) ev.getX();
int YDonw = (int) ev.getY();
int position = pointToPosition(XDonw,YDonw);
if(position != -1){
targetView = getChildAt(position);
targetView.setScaleY(SCALE);
targetView.setScaleX(SCALE);
targetView.setPadding(0,5,0,5);
}
break;
case MotionEvent.ACTION_UP:
if(targetView != null){
targetView.setScaleY(1);
targetView.setScaleX(1);
targetView.setPadding(0,0,0,0);
}
break;
}
return super.onTouchEvent(ev);
}
}