0
場景:我需要列表視圖中的項目之間的一條線,並且想要應用動畫(如左側的幻燈片)。動畫列表視圖分隔線
那麼,我自定義列表視圖分隔線。現在想要爲它製作動畫。
有沒有可能的方法?
如果不是,建議任何替代方案。
場景:我需要列表視圖中的項目之間的一條線,並且想要應用動畫(如左側的幻燈片)。動畫列表視圖分隔線
那麼,我自定義列表視圖分隔線。現在想要爲它製作動畫。
有沒有可能的方法?
如果不是,建議任何替代方案。
您最好將分隔線添加到您的行佈局來處理它。這將是顯示器在ListView然後每一行,使用onTouchListner
您dividerObject(的LinearLayout)來初始化Gesture Class
:
_dividerRow.setOnTouchListener(new MyGestureListener()
);
class MyGestureListener implements OnTouchListener
{
private PointF _init;
@Override
public boolean onTouch(View v, MotionEvent event)
{
switch(event.getAction())
{
case MotionEvent.ACTION_DOWN :
_init = new PointF(event.getRawX(), event.getRawY());
if(!(v == null))
{
_VelocityTracker = VelocityTracker.obtain();
_VelocityTracker.addMovement(event);
}
break;
case MotionEvent.ACTION_UP :
break;
case MotionEvent.ACTION_MOVE :
if(leave == false)
{
if(event.getX() > 0)
{
_VelocityTracker.addMovement(event);
float diffX = event.getRawX() - _init.x;
float diffY = event.getRawY() - _init.y;
if (Math.abs(diffX) > _slop && Math.abs(diffX) > Math.abs(diffY))
{
_swipping = true;
((ViewGroup) v).requestDisallowInterceptTouchEvent(true);
MotionEvent cancelEvent = MotionEvent.obtain(event);
cancelEvent.setAction(MotionEvent.ACTION_CANCEL | (event.getActionIndex() << MotionEvent.ACTION_POINTER_INDEX_SHIFT));
v.onTouchEvent(cancelEvent);
}
if(_swipping == true)
{
ViewHelper.setTranslationX(v, diffX);
}
}
}
break;
}
return false;
}
}
希望它可以幫助
感謝您的重播。當列表視圖變爲可見時,我試圖使分隔符動畫。 – Aswin
好了,所以添加你的條件,並使用** TranslateAnimation **來將你的divider X位置轉換爲0,但不要忘記初始化你的'_divider.setX'位置到父寬度(不可見)。你看 ? – marshallino16