Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android開發點點滴滴——Gallery的使用

Android開發點點滴滴——Gallery的使用

編輯:關於Android編程

Gallery視圖和之前用到的Spinner視圖,ListView視圖等很類似,操作也異曲同工,都是需要Adapter來和數據源匹配起來。

基本上都是使用繼承BaseAdapter來實現。

看著教程做的時候,發現設置了 沒有選中列表項的透明度為0.6(選中的為1) 但是程序首次運行,顯示正常,但是當滑動一次後,所有的列表項都變為透明的,上網查找,才發現,沒有設置顯示圖片的背景/背景色,設置背景色為黑色後,一切正常。

xml代碼

    

java代碼

Gallery gallery;
	int[] imageIds=new int[]
			{
					R.drawable.ic_launcher,
					R.drawable.ic_launcher,
					R.drawable.ic_launcher,
//					R.drawable.ic_launcher,
//					R.drawable.ic_launcher,
//					R.drawable.ic_launcher,
//					R.drawable.ic_launcher
			}
			;
	@Override
	protected void onCreate(Bundle savedInstanceState)
	{
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_test_gallery);
		gallery=(Gallery)findViewById(R.id.gallery);
		BaseAdapter adapter=new BaseAdapter()
		{
			
			@Override
			public View getView(int position, View convertView, ViewGroup parent)
			{
				ImageView imageView=new ImageView(TestGalleryActivity.this);
				imageView.setImageResource(imageIds[position%imageIds.length]);
				imageView.setScaleType(ImageView.ScaleType.FIT_XY);
				imageView.setLayoutParams(new Gallery.LayoutParams(75,100));
				imageView.setBackgroundColor(Color.BLACK);
				
				return imageView;
			}
			
			@Override
			public long getItemId(int position)
			{
				// TODO Auto-generated method stub
				return position;
			}
			
			@Override
			public Object getItem(int position)
			{
				// TODO Auto-generated method stub
				return position;
			}
			
			@Override
			public int getCount()
			{
				// TODO Auto-generated method stub
				return imageIds.length;
			}
		};
		
		gallery.setAdapter(adapter);
		
	}


主要就是getVIew中 imageView.setBackgroundColor(Color.BLACK); 以上只是一個簡單的例子。
事件觸發的監聽器和其他視圖都類似。
Gallery視圖可以在一行顯示多張圖片(或其他信息),而且支持水平拖動,也就是說不需要再額外增加水平滾動條。貌似只能讓最中間一個列表項作為選中的項,這樣只能實現特定功能,不好控制。但是作為圖片浏覽很是有很多其他創意的,比如網上可以找到3D顯示等等。

Gallery視圖已過期,網上牛人解釋是:不能通過它的適配器(Adapter)合適的使用convertView,也就是說在繪制一個展示時,不得不為每個item創建一個新的視圖。(Gallery不能回收視圖,浪費資源)

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved