嗨我想重複顯示畫廊元素。這意味着當我向前或向後移動時,不需要畫廊圖像結束。如果我採用23個元素數組將圖像分配到畫廊然後再次顯示圖像重複當我向前或向後gallary.For此人請給我一些建議。預先感謝重複畫廊元素
Q
重複畫廊元素
1
A
回答
6
這是非常相似的this question。您需要在getView()
方法中創建一個條件,在該條件中檢查您是否位於最後一個元素,然後在第一次在getCount中使用模數重新啓動。
編輯 這可能是你可以重用一個例子:
public class TestGallery extends Activity {
private Integer[] mImageIds = { R.drawable.sample_1, R.drawable.sample_2, R.drawable.sample_3, R.drawable.sample_4 };
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.gallery);
Gallery g = (Gallery) findViewById(R.id.gallery);
g.setAdapter(new ImageAdapter(this));
g.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView parent, View v, int position, long id) {
if (position >= mImageIds.length) {
position = position % mImageIds.length;
}
Toast.makeText(TestGallery.this, "" + position, Toast.LENGTH_SHORT).show();
}
});
}
public class ImageAdapter extends BaseAdapter {
int mGalleryItemBackground;
private Context mContext;
public ImageAdapter(Context c) {
mContext = c;
TypedArray a = obtainStyledAttributes(R.styleable.default_gallery);
mGalleryItemBackground = a.getResourceId(R.styleable.default_gallery_android_galleryItemBackground, 0);
a.recycle();
}
public int getCount() {
return Integer.MAX_VALUE;
}
public Object getItem(int position) {
if (position >= mImageIds.length) {
position = position % mImageIds.length;
}
return position;
}
public long getItemId(int position) {
if (position >= mImageIds.length) {
position = position % mImageIds.length;
}
return position;
}
public View getView(int position, View convertView, ViewGroup parent) {
ImageView i = new ImageView(mContext);
if (position >= mImageIds.length) {
position = position % mImageIds.length;
}
i.setImageResource(mImageIds[position]);
i.setLayoutParams(new Gallery.LayoutParams(80, 80));
i.setScaleType(ImageView.ScaleType.FIT_XY);
i.setBackgroundResource(mGalleryItemBackground);
return i;
}
public int checkPosition(int position) {
if (position >= mImageIds.length) {
position = position % mImageIds.length;
}
return position;
}
}
}
1
下面的代碼是很好的例子,爲循環圖庫視圖。
相關問題
- 1. Fancybox畫廊重複圖像
- 2. jQuery和的fancybox重複畫廊
- 3. 如何讓div元素重複動畫?
- 4. 同位素視頻畫廊
- 5. 重複元素
- 6. :元素重複
- 7. 畫廊div重疊頁腳
- 8. 動畫重新配置畫廊(html/css)
- 9. HTML5畫布 - 重複畫布元素作爲圖案
- 10. WPF重複元素
- 11. 重複的元素
- 12. 重複gridview元素.....!
- 13. numpy重複元素
- 14. insertAfter重複元素
- 15. 畫布重疊元素
- 16. 像Flash畫廊的Jquery畫廊
- 17. 幫助加載「畫廊」畫廊與.load
- 18. 使用XSLT連接非重複元素和重複元素
- 19. R中重複元素的元素
- 20. 重複元素子元素的ID
- 21. 動態添加元素到燈箱(Venobox)畫廊
- 22. 如何通過ID篩選div元素爲畫廊
- 23. 如何在畫廊元素之間放置分隔符
- 24. fancybox畫廊傳遞元素內容作爲數組
- 25. 畫廊在HTML5中應該包含哪些元素?
- 26. Fancybox3多個鏈接到相同的畫廊沒有重複
- 27. 如何在高山畫廊中不重複地顯示圖像?
- 28. 尋找一個jQuery畫廊腳本,它根據鼠標位置移動元素(即滑動畫廊)
- 29. 如何複製Facebook相冊畫廊(android)
- 30. 默認畫廊
對不起,我忘記了一件事,然後再複製給你。在「checkPosition(position);」之前添加「position =」在getView – Sephy 2010-07-30 12:23:58
我糾正了上面的示例,使其中的一切工作。 – Sephy 2010-07-30 12:27:24
看起來你的getItem方法有錯誤。 – Zammbi 2012-06-12 23:51:34