Xamarin - Thư viện
Thư viện là một kiểu xem được sử dụng để hiển thị các mục trong danh sách có thể cuộn ngang. Mục đã chọn sau đó sẽ được hiển thị ở trung tâm. Trong ví dụ này, bạn sẽ tạo một thư viện chứa các hình ảnh có thể cuộn theo chiều ngang. Một hình ảnh khi được nhấp vào sẽ hiển thị một số cho hình ảnh đã chọn.
Trước hết, hãy tạo một dự án mới và đặt tên cho nó, chẳng hạn như Hướng dẫn ứng dụng thư viện. Trước khi bạn bắt đầu viết mã, hãy dán 7 hình ảnh vàoresource /drawable folder. Hướng đếnmain.axml Dưới resources folder và một thư viện ở giữa các thẻ bố cục tuyến tính.
<?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>
Tạo một lớp mới được gọi là ImageAdapter. Lớp này sẽ được sử dụng để liên kết các hình ảnh với thư viện mà chúng ta đã tạo ở trên.
Bước đầu tiên là thêm một lớp có chứa ngữ cảnh cont mà chúng tôi sử dụng để lưu trữ các trường.
public class ImageAdapter : BaseAdapter {
Context cont;
public ImageAdapter(Context ct) {
cont = ct;
}
}
Tiếp theo, chúng tôi đếm danh sách mảng có chứa hình ảnh của chúng tôi và trả về kích thước của nó.
public override int Count {
get {
return imageArraylist.Length;
}
}
Trong bước tiếp theo, chúng tôi nhận được vị trí của mục. Đoạn mã sau đây cho biết cách thực hiện.
public override Java.Lang.Object GetItem(int position) {
return null;
}
public override long GetItemId(int position) {
return 0;
}
Trong bước tiếp theo, chúng tôi tạo imageview cho các mục được tham chiếu bởi bộ điều hợp.
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;
}
Trong bước cuối cùng, chúng tôi tạo tham chiếu đến các hình ảnh chúng tôi đã thêm vào resources.drawablethư mục. Để làm điều này, chúng tôi tạo một mảng để chứa bộ sưu tập hình ảnh. Đoạn mã sau giải thích cách thực hiện.
int[] imageArraylist = {
Resource.Drawable.img1,
Resource.Drawable.img2,
Resource.Drawable.img3,
Resource.Drawable.img4,
Resource.Drawable.img5,
Resource.Drawable.img6,
};
}
Tiếp theo, chúng tôi đi đến mainActivity.cs và chèn đoạn mã sau vào phương thức OnCreate ().
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();
}
Cuối cùng, xây dựng và chạy ứng dụng của bạn để xem kết quả đầu ra.