如圖:
先在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元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元

