옛글/안드로이드 프로그래밍

[안드로이드] GridView Auto Scroll (SmoothScroll)

ShakeJ 2013. 3. 27. 13:40
반응형




ListView 는 SmoothScroll 이 적용이 잘 되는데, Grdiview는 동작하지 않는 경우가 많다. 같은 ViewGroup에 있는 메서드인데.. 아래코드와 같이 Adapter가 notifiDateSetChange된 이후 적용하면 정상적으로 AutoScroll이 된다. 


 Auto Scroll되는 Animation을 넣기 위해서는 아래에 smoothScrollToPosition보다 offset과 position, duration을 모두다 설정할 수 있는 smoothScrollToPositionFromTop을 사용한다. 


new Timer().schedule(new TimerTask()
            {
                @Override
                public void run() {         
                    nameHandler.sendEmptyMessage(0);
                }
            },500);
//// And in handler::

Handler nameHandler = new Handler()
    {
        public void handleMessage(Message msg)
        {
            super.handleMessage(msg);
            gridView.setSelection(selectorIndex);
                         // OR
            gridView.smoothScrollToPosition(selectorIndex);
            gridView.invalidate();
        }
    } ;

반응형