如圖:
先在attr.xml里寫個Gallery的樣式
1: <? xml version = "1.0" encoding = "utf-8" ?>
2: < resources >
3: < declare-styleable name = "Gallery" >
4: < attr name = "android:galleryItemBackground" />
5: </ declare-styleable >
6: <!-- 定義Layout外部resources 的xml文件,用來改變Layout的背景圖 -->
7: </ resources >
8:
然后在mainActivity里的OnCreate里:
1: setContentView(R.layout. main );
2:
3: imageAdapter = new myImageAdapter( this );
4:
5: gallery = (Gallery) findViewById(R.id. Gallery_preView );
6: imageView = (ImageView) findViewById(R.id. ImageView_photo );
7:
8: gallery .setAdapter( imageAdapter );
9: gallery .setSelection(200); //設置Gallery的起始位置
下面是imageAdapter的類,它繼承BaseAdapter
圖片資源:
1: protected int [] myImageIds = { R.drawable. vista_1 , R.drawable. vista_2 ,
2: R.drawable. vista_3 , R.drawable. vista_4 , R.drawable. vista_5 ,
3: R.drawable. vista_6 , };
構造里:
1: public myImageAdapter(Context context) {
2: mContext = context;
3: /* 使用res/values/attr.xml中的<declare-styleable>定義的Gallery屬性 */
4: TypedArray typed_array = context
5: .obtainStyledAttributes(R.styleable. Gallery );
6: mGalleryItemBackground = typed_array.getResourceId(
7: R.styleable. Gallery_android_galleryItemBackground , 0);
8: /* 讓對象的styleable 屬性能夠反復使用 */
9: typed_array.recycle();
10:
}
11:
getCount()方法:
1: @Override
2: public int getCount() {
3: // TODO Auto-generated method stub
4: // return myImageIds.length;
5: return Integer. MAX_VALUE ;
6:
}
getView()方法:
1: @ Override
2: public View getView( int position, View convertView, ViewGroup parent) {
3: ImageView i = new ImageView( mContext );
4:
5: if (position < 0) {
6: position = position + myImageIds . length ;
7: }
8: i.setImageResource( myImageIds [position % myImageIds . length ]);
9: i.setScaleType(ImageView.ScaleType. FIT_XY );
10: i.setLayoutParams( new Gallery.LayoutParams(128, 128));
11: i.setBackgroundResource( mGalleryItemBackground );
12: return i;
13: }
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
