Xamarin - Galeri

Galeri, öğeleri yatay kaydırılabilir bir listede göstermek için kullanılan bir görünüm türüdür. Seçilen öğe daha sonra ortada gösterilir. Bu örnekte, yatay olarak kaydırılabilen resimler içeren bir galeri oluşturacaksınız. Tıklandığında bir görüntü, seçilen görüntü için bir numara gösterecektir.

Her şeyden önce, yeni bir proje oluşturun ve ona bir isim verin, örneğin, Galeri Uygulaması Eğitimi. Kodlamaya başlamadan önce 7 resmi şuraya yapıştırın:resource /drawable folder. Şu yöne rotayı ayarlamain.axml altında resources folder ve doğrusal düzen etiketleri arasında bir galeri.

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
   android:orientation="vertical" 
   android:layout_width="fill_parent" 
   android:layout_height="fill_parent" 
   android:background="#d3d3d3"> 
   <Gallery 
      android:id="@+id/gallery" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:padding="10dp" /> 
</LinearLayout>

Adlı yeni bir sınıf oluşturun ImageAdapter. Bu sınıf, görüntüleri yukarıda oluşturduğumuz galeriye bağlamak için kullanılacaktır.

İlk adım, bir bağlam içeren bir sınıf eklemektir. cont alanları depolamak için kullandığımız.

public class ImageAdapter : BaseAdapter { 
   Context cont; 
   public ImageAdapter(Context ct) { 
      cont = ct; 
   } 
}

Ardından, resmimizi içeren ve boyutunu döndüren dizi listesini sayıyoruz.

public override int Count {  
   get {  
      return imageArraylist.Length;  
   }  
}

Bir sonraki adımda, öğenin konumunu alıyoruz. Aşağıdaki kod, bunun nasıl yapılacağını gösterir.

public override Java.Lang.Object GetItem(int position) { 
   return null; 
}  
public override long GetItemId(int position) { 
   return 0; 
}

Bir sonraki adımda, bir imageview adaptör tarafından referans verilen öğeler için.

public override View GetView(int position,View convertView, ViewGroup parent) { 
   ImageView img = new ImageView(cont); 
   img.SetImageResource(imageArraylist[position]); 
   img.SetScaleType(ImageView.ScaleType.FitXy); 
   img.LayoutParameters = new Gallery.LayoutParams(200, 100); 
   return img; 
}

Son adımda, eklediğimiz görsellere referans oluşturuyoruz. resources.drawableKlasör. Bunu yapmak için, görüntü koleksiyonunu tutacak bir dizi oluşturuyoruz. Aşağıdaki kod, bunun nasıl yapılacağını açıklamaktadır.

int[] imageArraylist = { 
   Resource.Drawable.img1, 
   Resource.Drawable.img2, 
   Resource.Drawable.img3, 
   Resource.Drawable.img4, 
   Resource.Drawable.img5,
   Resource.Drawable.img6, 
  }; 
}

Sonra gidiyoruz mainActivity.cs ve OnCreate () yönteminin altına aşağıdaki kodu ekleyin.

Gallery myGallery = (Gallery)FindViewById<Gallery>(Resource.Id.gallery); 
myGallery.Adapter = new ImageAdapter(this); 
myGallery.ItemClick += delegate(object sender, AdapterView.ItemClickEventArgs args) { 
   Toast.MakeText(this, 
      args.Position.ToString(), ToastLength.Short).Show(); 
}

Son olarak, çıktıyı görüntülemek için uygulamanızı oluşturun ve çalıştırın.