Android ScrollView

本日、カテゴリーに「Android」を追加しました。あと、文字もおっきくしたので、「ちっちゃくないよー!」。

というわけで、コチラの課題、<ScrollView> のなかに <HorizontalScrollView> を入れることで解決できそう。

今のところ、縦横スクロールが機能するところまで確認。

で、<HorizontalScrollVirew> の下の <LinearLayout> の layout_width をデバイスの画面幅の3倍して~と思ってたんですが、これは大きな勘違いで、各ページをデバイスの画面幅に設定してやらないとダメでした。

private void setViewSize(){
  final int displayWidth;
  ViewGroup layout;

  WindowManager wm = (WindowManager) getSystemService(Context.WINDOW_SERVICE);
  Display display = wm.getDefaultDisplay();

  Point size = new Point();
  display.getSize(size);
  displayWidth = size.x;

  LinearLayout.LayoutParams layoutParam = new LinearLayout.LayoutParams(
  displayWidth, ViewGroup.LayoutParams.WRAP_CONTENT);

  layout = (ViewGroup) findViewById(R.id.view_page0);
  layout.setLayoutParams(layoutParam);
  layout = (ViewGroup) findViewById(R.id.view_page1);
  layout.setLayoutParams(layoutParam);
  layout = (ViewGroup) findViewById(R.id.view_page2);
  layout.setLayoutParams(layoutParam);

}

HorizontalScrollView の子View (=LinearLayout)を画面幅の3倍にして、XML で各ページの android:layaout_weight を同じ値にすればいんじゃね? と考えていたんですが、あえなくハングアップ。
素人らしく各ページの幅ををゴリゴリ指定してますね。
うーん、潔い。

で、コイツを onCreate() で呼び出してやると。
さて、次はscrollTo で、ページをスワイプしてる風に見せるわけですな。はぁ。



スポンサーサイト

コメント

非公開コメント