for (
int i =
0; i < viewCount; i++) {
final View view =
new View(context);
view.setLayoutParams(
new TableLayout.LayoutParams(
ViewGroup.LayoutParams.MATCH_PARENT,
ViewGroup.LayoutParams.WRAP_CONTENT,
1f));
mSpringChain.addSpring(
new SimpleSpringListener() {
@Override
public void onSpringUpdate(Spring spring) {
float value = (
float) spring.getCurrentValue();
view.setTranslationX(value);
}
});
int color = (Integer) evaluator.evaluate((
float) i / (
float) viewCount, startColor, endColor);
view.setBackgroundColor(color);
view.setOnTouchListener(
new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
return handleRowTouch(v, event);
}
});
mViews.add(view);
rootView.addView(view);
}
getViewTreeObserver().addOnGlobalLayoutListener(
new ViewTreeObserver.OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
getViewTreeObserver().removeOnGlobalLayoutListener(
this);
List<Spring> springs = mSpringChain.getAllSprings();
for (
int i =
0; i < springs.size(); i++) {
springs.get(i).setCurrentValue(-mViews.get(i).getWidth());
}
postDelayed(
new Runnable() {
@Override
public void run() {
mSpringChain
.setControlSpringIndex(
0)
.getControlSpring()
.setEndValue(
0);
}
},
500);
}
});