Hotline: 0919 365 363; Email: daotao@r2s.edu.vn

Gridview trong Android

Gridview trong Android

Gridview trong Android
Kiến thức hữu ích

Gridview trong Android

Gridview trong Android là thành phần cho phép người dùng sắp xếp các thành phần khác thành lưới thành dòng và cột sao cho hợp lý.

Để tìm hiểu về các thuộc tính của Gridview cũng như cú pháp liên quan đến nó, mời bạn đọc hãy cùng theo dõi bài viết dưới đây của R2S nhé!

Gridview trong Android là gì?

GridView cho phép chúng ta sắp xếp các thành phần ở một lưới (grid) gồm nhiều dòng và nhiều cột. ListView và GridView là lớp con của AdapterView và cả hai đều sử dụng Adapter để nhận dữ liệu, sau đó hiển thị dữ liệu từ Adapter này.

Gridview trong Android là gì?
Gridview trong Android là gì?

Các thuộc tính của GridView

Thuộc tínhGiải thích
android:idID được dùng để xác định GridView trong layout
android:columnWidthXác định chiều rộng cho mỗi cột của GridView
android:gravityChỉ định canh lề cho các thành phần trong GridView, với các giá trị như top, bottom, left, right, center, center_vertical và center_horizontal.
android:horizontalSpacingXác định khoảng cách giữa các cột trong GridView.
android:verticalSpacingXác định khoảng cách giữa các dòng trong GridView.
android:numColumnsXác định số cột được hiển thị trên màn hình. Giá trị có thể là một số nguyên hoặc auto_fit (nghĩa là số cột được chia tỷ lệ vào kích thước màn hình).
android:stretchModeXác định cách thức các cột co giãn để lấp đầy không gian trống có sẵn trong GridView. Có 3 giá trị: none (không co giãn), spacingWidth (khoảng cách giữa các cột được co giãn), columnWidth (mỗi cột được co giãn bằng nhau).

Gridview trong android – Bài mẫu

Hiển thị các ký tự từ A đến Z sử dụng gridview như sau:

Thiết kế layout

<GridView
 android:layout_width="fill_parent"
 android:layout_height="fill_parent"
 android:id="@+id/gridView"
 android:layout_centerHorizontal="true"
 android:layout_alignParentTop="true"
 android:numColumns="auto_fit"
 android:gravity="center"
 android:stretchMode="columnWidth"
 android:columnWidth="50dp" />
Viết xử Khai báo dữ liệu cho gridview
static final String[] data = new String[]{
            "A", "B", "C", "D", "E",
            "F", "G", "H", "I", "J",
            "K", "L", "M", "N", "O",
            "P", "Q", "R", "S", "T",
            "U", "V", "W", "X", "Y", "Z"};

 

Viết xử Khai báo dữ liệu cho gridview

static final String[] data = new String[]{
            "A", "B", "C", "D", "E",
            "F", "G", "H", "I", "J",
            "K", "L", "M", "N", "O",
            "P", "Q", "R", "S", "T",
            "U", "V", "W", "X", "Y", "Z"};

Trong phương thức onCreate()

// Khai báo ArrayAdapter
ArrayAdapter<String> aa = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, data);
// Gắn ArrayAdapter vào GridView
gv.setAdapter(aa);
// Xử lý sự kiện
gv.setOnItemClickListener(new AdapterView.OnItemClickListener(){
 public void onItemClick(AdapterView<?> parent, View v,
 int position, long id) {
  Toast.makeText(getApplicationContext(), data[position], Toast.LENGTH_SHORT).show();
 }
});

Chạy ứng dụng

Chạy ứng dụng
Chạy ứng dụng

Khi chạm vào một ký tự trong gridview

Khi chạm vào một ký tự trong gridview
Khi chạm vào một ký tự trong gridview

Bài tập thực hành – Gridview trong Android

Việc sử dụng GridView cho phép hiển thị danh sách các hình ảnh từ thư mục drawable. Khi người dùng chạm vào một hình ảnh bất kỳ, ứng dụng có thể hiển thị hình đầy đủ theo kích thước thật của nó. Hình ảnh được sử dụng để hiển thị trên GridView có thể được tải xuống khi khởi động ứng dụng. 

Sau đây là giao diện của ứng dụng khi chạy:

Gridview trong android – Bài tập thực hành
Bài tập thực hành

Khi chạm vào một hình bất kỳ trong gridview

Khi chạm vào một hình bất kỳ
Khi chạm vào một hình bất kỳ trong gridview

Kết luận

Gridview có vai trò quan trọng nên người học lập trình cần phải hiểu rõ và sử dụng, lựa chọn các thuộc tính sao cho phù hợp. Chúc bạn học lập trình vui và đừng bỏ lỡ những bài học tiếp theo của R2S nhé.

Bài viết gốc được đăng tại: giasutinhoc.vn

Alert: You are not allowed to copy content or view source !!