我有一个右侧带有字母索引器的gridview,并将其可见性设置为view。违约了。当我开始滚动网格视图时,我希望索引器显示动画,当我停止滚动时,索引器也会自动隐藏
gridView.setOnScrollListener(new AbsListView.OnScrollListener() {
public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
// TODO Auto-generated method stub
mLetter.setVisibility(View.VISIBLE);
}
public void onScrollStateChanged(AbsListView view, int scrollState) {
if (scrollState == AbsListView.OnScrollListener.SCROLL_STATE_IDLE) {
final Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
Animation animation = new TranslateAnimation(0, 200, 0, 0);
animation.setDuration(500);
mLetter.startAnimation(animation);
mLetter.setVisibility(View.GONE);
}
}, 5000);
}
}
});
我的问题是:
几个小时后,我终于找到了自己的答案,其实很简单
gridview.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
int action = event.getAction();
switch (action) {
//when first touch
case MotionEvent.ACTION_DOWN:
if(mLetter.getVisibility() == View.GONE){ //make sure indexer doesn't exist
Animation animation = new TranslateAnimation(100, 0, 0, 0);
animation.setDuration(500);
mLetter.startAnimation(animation);
mLetter.setVisibility(View.VISIBLE);
}
break;
case MotionEvent.ACTION_MOVE:
mLetter.setVisibility(View.VISIBLE);
break;
case MotionEvent.ACTION_UP:
break;
}
return false;
}
});
gridview.setOnScrollListener(new AbsListView.OnScrollListener() {
public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
// TODO Auto-generated method stub
}
public void onScrollStateChanged(AbsListView view, int scrollState) {
state = scrollState;
if (scrollState == AbsListView.OnScrollListener.SCROLL_STATE_IDLE) {
final Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
if (state == AbsListView.OnScrollListener.SCROLL_STATE_IDLE) {
//make sure indexer is exist AND is not currently touched
if (mLetter.getVisibility() == View.VISIBLE && !mLetter.getBool()) {
Animation animation = new TranslateAnimation(0, 200, 0, 0);
animation.setDuration(500);
mLetter.startAnimation(animation);
mLetter.setVisibility(View.GONE);
}
}
}
}, 5000);
}
}
});
这成功地防止动画复制。希望这能帮助某人
在网格模式上使用TouchListener:
boolean isLetterShowing = false;
gridView.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
int action = event.getAction();
switch (action){
case MotionEvent.ACTION_DOWN:
if(!isLetterShowing){
isLetterShowing = true;
}
break;
case MotionEvent.ACTION_SCROLL:
if(isLetterShowing){
mLetter.setVisibility(View.VISIBLE);
}
break;
case MotionEvent.ACTION_UP:
if(isLetterShowing){
isLetterShowing = false;
mLetter.setVisibility(View.INVISIBLE);
}
break;
}
return false;
}
});
基于网络请求,接受xml,并解析返回的xml,从而得到列车车次信息。 [Code4App.com]
长安汽车到学校宣讲,紧接着第二天就短信通知面试,一面是线下面试,地点就选在学校的教学楼里面,按照分配的面试时间段进行签到,再按照签到的顺序安排面试次序,一个教室里面5个面试官,距离很远,一对一面试,每次进去5个学生,招相应的面试官面试;二面是在一面之后第三天打电话通知的,第四天线上面试。 一面是综合面,先是自我介绍;然后问做项目过程中印象深刻的难点,怎么解决的;然后问职业规划;最后反问面试官一个问
直接发邮件约面! 1、自我介绍。 2、项目没问、技术也没咋问。 3、问我的研究方向,问我毕设做的东西,问我深度学习对他公司的作用。 4、问我了不了解他们公司的情况。 就是那么个情况,真想去的话啥也不用准备,就说我想去就完了! #中车集团##Java开发#
定义 选择车型的组件。 图片展示 代码演示 import SelectCar from 'pile/dist/components/selectcar' <SelectCar show={selectCarShow} brandClick={this.brandClick.bind(this)} carTypeClick={this.carTypeClick.bind(this)}
我有一个问题来写我的代码。这是一个代码,我必须创建一个对象类,并使用另一个类对象运行它。这个程序被称为自行车和自行车测试。我得到了自行车程序(它已经被写好了),我所需要的就是我写自行车测试来利用自行车。现在,问题是,我已经创建了2个对象,称为Nice自行车和酷自行车。我需要将我的NiceBCycle名称更改为“肯尼·麦考密克,但我不能这样做。我一直收到错误消息,说“错误:变量Nice自行车可能没有
电话面,周一上午给我打电话约的周二下午 面试官拷打的挺多的,我还是第一次遇到这么不温柔的面试官 问题一个接着一个的抛 我太菜了给我问蒙了都 对深蓝汽车了解吗 接受工作地点在重庆吗 ==和equals的区别 Integer a=200和Integer b=200用equals比较和用==比较分别是true还是false等等一系列(接连拷打) 迭代器模式,为啥不用for循环 工厂模式和抽象工厂模式 r