当我向右投掷时,我想动画我的textView。对于删除textView的行为,我将动画关联起来。
在myAdapter上的getView上我做了这个:
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View vi = convertView;
if (convertView == null) {
vi = inflater.inflate(R.layout.list_row, null);
}
Card card = deck.get(position);
TextView tv = (TextView) vi.findViewById(R.id.txtTime);
tv.setText(card.toTimeString());
vi.setTag(tv);
return vi;
}
在我的列表Activity中,我恢复使用pointToPosition轻触的TextView并尝试对其进行动画处理,但不会发生:调用onFling方法,但动画不起作用。
@Override
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,
float velocityY) {
int position = getListView().pointToPosition((int) e1.getX(), (int) e1.getY());
if (e1.getX() < e2.getX()){
return fling (position);
}else{
return reverseFling (position);
}
}
private boolean fling(int position) {
View view = getListAdapter().getView(position, null, getListView());
TextView tv = (TextView) view.getTag();
tv.animate().alpha(0).setDuration(230).translationX(333);
return true;
}
private boolean reverseFling(int position) {
Log.i(tag, "reverseFling");
return true;
}
答案 0 :(得分:0)
我用它来解决它:
View view = getListAdapter().getView(position, null, getListView());
TextView tv = (TextView) view.getTag();
TextView theTv = (TextView) findViewById(tv.getId());
theTv.animate().alpha(0).setDuration(230).translationX(333);
return true;
但仍然不知道为什么我不能直接为电视TextView制作动画。