主にAndroid 縦にスクロールするGallery

主にAndroid

Androidの情報を中心に、自分の備忘録を兼ねて書いてます

スポンサーサイト 

--/--/--
--. --:--

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
スポンサードリンク

[edit]

CM: --
TB: --

page top

縦にスクロールするGallery 

2011/04/03
Sun. 15:22

本来なら横にスクロールするGalleryを、縦にスクロールするように改造した俺得クラスです。

去年作ったものですが、ぐぐっても出てこないので俺しか必要ないんだろうなあ・・・。

Android 1.6をベースにしてるので、1.5以前では動作しないかも。

VerticalGallery.txt
VerticalGalleryAdapterView.txt
VerticalGalleryAbsSpinner.txt

使用方法
↑のファイルの拡張子をjavaにして投げ込む
後はGalleryとほぼ同じように使えます。

使用例(画像はApiDemo参照)

public class MainActivity extends Activity implements
VerticalGalleryAdapterView.OnItemSelectedListener {

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);

setContentView(R.layout.main);

VerticalGallery g = (VerticalGallery) findViewById(R.id.gallery);
g.setAdapter(new ImageAdapter(this));
g.setOnItemSelectedListener(this);
}

public void onItemSelected(VerticalGalleryAdapterView parent, View v,
int position, long id) {
}

public void onNothingSelected(VerticalGalleryAdapterView parent) {
}

public class ImageAdapter extends BaseAdapter {
public ImageAdapter(Context c) {
mContext = c;
}

public int getCount() {
return mImageIds.length;
}

public Object getItem(int position) {
return position;
}

public long getItemId(int position) {
return position;
}

public View getView(int position, View convertView, ViewGroup parent) {
ImageView i = new ImageView(mContext);

i.setImageResource(mImageIds[position]);
i.setAdjustViewBounds(true);
i.setLayoutParams(new VerticalGallery.LayoutParams(
LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
// i.setBackgroundResource(R.drawable.picture_frame);
return i;
}

private Context mContext;

}

private Integer[] mImageIds = { R.drawable.sample_0, R.drawable.sample_1,
R.drawable.sample_2, R.drawable.sample_3, R.drawable.sample_4,
R.drawable.sample_5, R.drawable.sample_6, R.drawable.sample_7 };

}



android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent">

android:background="#55000000"
android:layout_height="fill_parent" android:layout_width="fill_parent"
android:cacheColorHint="#00000000" android:fadingEdge="none"
android:divider="#00000000" android:smoothScrollbar="true"
android:scrollbars="none"/>

関連記事
スポンサードリンク

[edit]

CM: 2
TB: 0

page top

この記事に対するコメント

すごく参考になりました!

画像をSDから読み込み,一覧表示するアプリを作成しているのですが,
GridViewを使うと画像が増えたときに処理が重くなってしまって...
Galleryを使うと良いと聞いたのですが,画面を縦方向に使ったときに
横スクロールだと画面が短い文表示可能な画像数が少なくなってしまうんですね.
縦方向だと長い分表示可能な画像数が増えてよくなりました.

ありがとうございました!

#JalddpaA | URL | 2011/09/15 18:25 * edit *

Re: タイトルなし

> すごく参考になりました!
>
> 画像をSDから読み込み,一覧表示するアプリを作成しているのですが,
> GridViewを使うと画像が増えたときに処理が重くなってしまって...
> Galleryを使うと良いと聞いたのですが,画面を縦方向に使ったときに
> 横スクロールだと画面が短い文表示可能な画像数が少なくなってしまうんですね.
> 縦方向だと長い分表示可能な画像数が増えてよくなりました.
>
> ありがとうございました!

いえいえ、役に立って何よりです。

beefsalt #- | URL | 2011/09/21 15:12 * edit *

page top

コメントの投稿

Secret

page top

トラックバック

トラックバックURL
→http://beefsalt.blog79.fc2.com/tb.php/33-4c269192
この記事にトラックバックする(FC2ブログユーザー)

page top

2017-04
  • «
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • »

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。