isRightOut = true;
ta = new TranslateAnimation(Animation.RELATIVE_TO_SELF, 0, Animation.RELATIVE_TO_SELF, 1f,
Animation.RELATIVE_TO_SELF, 0, Animation.RELATIVE_TO_SELF, 0);
ta.setDuration(500);
ta.setFillAfter(true);
this.startAnimation(ta);
this.setClickable(false);
} else {
this.setVisibility(VISIBLE);
}
}
}
mListview.setOnTouchListener(onTouchListener);
private boolean isTabShow = true;
private float downY = 0;
// 拖动listview时,如果点击到的地方是item里的一些view,可能出现ACTION_DOWN触发不了的问题。
// 利用isActionDown,当为false时就触发了ACTION_MOVE,第一个action需要当成ACTION_DOWN处理
boolean isActionDown = false;
View.OnTouchListener onTouchListener = new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
isActionDown = true;
downY = event.getY();
break;
case MotionEvent.ACTION_MOVE:
if (!isActionDown) {
// 当为false时就触发了ACTION_MOVE,第一个action需要当成ACTION_DOWN处理
isActionDown = true;
downY = event.getY();
} else {
float currentY = event.getY();
if (currentY - downY < -20 && isTabShow) {
// 向下,隐藏
isTabShow = false;
mSlidingAround.setTranslateAnimation(SlidingAroundFrameLayout.TypeEnum.RIGHT);
} else if (currentY - downY > 20 && !isTabShow) {
// 向上,显示
isTabShow = true;
mSlidingAround.setTranslateAnimation(SlidingAroundFrameLayout.TypeEnum.LEFT);
}
}
break;
case MotionEvent.ACTION_UP:
isActionDown = false;// isActionDown重置
break;
default:
break;
}
return false;
}
};
@Override
public void onDetachedFromWindow() {
super.onDetachedFromWindow();
mRecyclerview.removeOnScrollListener(myOnScrollListener);
}
@Override
public void onAttachedToWindow() {
总结
找工作是个很辛苦的事情,而且一般周期都比较长,有时候既看个人技术,也看运气。第一次找工作,最后的结果虽然不尽如人意,不过收获远比offer大。接下来就是针对自己的不足,好好努力了。
最后为了节约大家的时间,我把我学习所用的资料和面试遇到的问题和答案都整理成了PDF文档,都可以分享给有需要的朋友,如有需要私信我【资料】或者**【点这里】免费领取**
喜欢文章的话请关注、点赞、转发 谢谢!
ster/Android%E5%BC%80%E5%8F%91%E4%B8%8D%E4%BC%9A%E8%BF%99%E4%BA%9B%EF%BC%9F%E5%A6%82%E4%BD%95%E9%9D%A2%E8%AF%95%E6%8B%BF%E9%AB%98%E8%96%AA%EF%BC%81.md)**
喜欢文章的话请关注、点赞、转发 谢谢!