/**
* Creates and returns an animation listener, which allows to inflate or remove the views, which
* are used to visualize tabs, when an animation, which is used to hide the tab switcher,
* has been finished.
*
* @return The animation listener, which has been created, as an instance of the type {@link
* AnimatorListener}. The listener may not be null
*/
@NonNull
private AnimatorListener createHideSwitcherAnimationListener() {
return new AnimatorListenerAdapter() {
@Override
public void onAnimationEnd(final Animator animation) {
super.onAnimationEnd(animation);
AbstractTabItemIterator iterator =
new TabItemIterator.Builder(getTabSwitcher(), viewRecycler).create();
TabItem tabItem;
while ((tabItem = iterator.next()) != null) {
if (tabItem.getTab() == getModel().getSelectedTab()) {
Pair<View, Boolean> pair = viewRecycler.inflate(tabItem);
View view = pair.first;
FrameLayout.LayoutParams layoutParams =
(FrameLayout.LayoutParams) view.getLayoutParams();
view.setAlpha(1f);
getArithmetics().setScale(Axis.DRAGGING_AXIS, view, 1);
getArithmetics().setScale(Axis.ORTHOGONAL_AXIS, view, 1);
view.setX(layoutParams.leftMargin);
view.setY(layoutParams.topMargin);
} else {
viewRecycler.remove(tabItem);
}
}
viewRecycler.clearCache();
recyclerAdapter.clearCachedPreviews();
tabViewBottomMargin = -1;
}
};
}
PhoneTabSwitcherLayout.java 文件源码
java
阅读 37
收藏 0
点赞 0
评论 0
项目:NeoTerm
作者:
评论列表
文章目录