当前位置: 代码迷 >> Android >> android 的list中按上/下键时,实现item滑动效果,该如何解决
  详细解决方案

android 的list中按上/下键时,实现item滑动效果,该如何解决

热度:32   发布时间:2016-05-01 22:22:45.0
android 的list中按上/下键时,实现item滑动效果
RT,现在item焦点的移动很难看,如果实现滑动的效果呢?


------解决方案--------------------
我理解了你的意思,实际上我也想这么干,但一直没找到方法。我看过苹果的TV,焦点的移动是有过渡的,而android里面的焦点移动是个突变的过程,焦点从一个item到另一个item几乎是瞬移,很生硬。
------解决方案--------------------
这个例子很多的
我不废话了 看资料:
http://archive.cnblogs.com/a/2079253/
------解决方案--------------------
Java code
listView.setOnItemClickListener(new OnItemClickListener() {            @Override            public void onItemClick(AdapterView<?> parent, View view,                    int position, long id) {                /**                 * 思路:每单击一个ListItem的时候,设置该ListItem中的TextView.setSelected(true)                 * ,使用positionCache记录上一次单击的ListItem的position,每次单击时判断当前                 * position是否等于positionCache,如果相等则不做任何操作,如果不相等,则设置                 * 当前position的ListItem跑马灯效果,并去除positionCache对应的ListItem的跑马灯                 * 效果。                 */                                //判断此次单击的position与前一次单击的position是否相等                if(position!=positionCache){                    //如果两次单击不是同一个position,判断是否是第一次单击(第一次单击                    //不需要取消上一次的跑马灯效果)                    if(positionCache>=0){                        View preView=listView.getChildAt(positionCache);                                    TextView preTv=(TextView) preView.findViewById(R.id.title);//上一次单击的TextView                        preTv.setSelected(false);            //取消跑马灯效果                        preView.setBackgroundDrawable(null);//去掉背景图片                    }                    TextView tv=(TextView) view.findViewById(R.id.title);//本次单击的TextView                    tv.setSelected(true);    //设置跑马灯效果                    view.setBackgroundResource(R.drawable.icon);//设置单击后的背景图片                    positionCache=position; //缓存每次单击的position                }            }        });
  相关解决方案