tweet

Android HorizontalScrollView で、指定ページに移動させる方法。 --2013/01/04

Android HorizontalScrollView で、指定ページに移動させる方法。 --2013/01/04



正月ですね。おせちの季節!!
HorizontalScrollViewで移動、イベントなどで指定ページに動かす場合、
苦戦したので、メモです。

ググると、scrollTo() とか出てきます。
メインスレッドから呼ぶと、ページ移動しません。
handler経由だと、動きました。

*) 使ったのは、このアプリ(書籍)、是非どうぞ。
https://play.google.com/store/apps/details?id=com.kuc_arc_f.app.aozora

*) 参考ページ: http://relog.xii.jp/archives/2010/11/horizontalscrol.html
それでは、また会いましょう。

=== SRC一部 ===
 public class ShowH_ScrollView extends HorizontalScrollView implements OnTouchListener, OnGestureListener
 {
static final String TAG="ShowH_ScrollView";
private Handler _handlerAnimation = null;

private final Runnable _runAnimationThread = new Runnable(){
    public void run(){
        updateAutoScroll();
    }
};

public ShowH_ScrollView(Context context) {
 super(context);
 setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT,
   LayoutParams.FILL_PARENT));
}

public ShowH_ScrollView(Context context, int maxItem,
  int itemWidth, int itemHeight, ArrayList<ItemPT> lst, String s_dir, View info_view)
{
this(context);
try
{
startAutoScroll();


}catch(Exception e )
{
e.printStackTrace();
}
}
/**
 * ハンドラ
 * @return
 */
private Handler getHandlerAnimation(){
    if(_handlerAnimation == null){
        _handlerAnimation = new Handler();
    }
    return _handlerAnimation;
}

public void startAutoScroll(){
    //監視を開始
    getHandlerAnimation().postDelayed(_runAnimationThread, 100 );
}
public void updateAutoScroll(){
scrollTo(itemWidth * activeItem , getScrollY());
}


 }
===

コメント

AD-parts

Shop
Bluetooth搭載
ベース基板

FACEBOOK

人気の投稿