Bài 19: Gridview trong Android (P2)

Leave a Comment
-Hãy tạo một Android Project tên: Vidu_Gridview_DisplayImage và xem cấu trúc của chương trình:
19_grid_4
-Layout sẽ có 2 cái: activity_main.xml là của màn hình chính dùng để hiển thị danh sách hình ảnh. solo_picture.xml là dùng để hiển thị từng hình riêng lẻ.
- Tạo thêm thư mục drawble và kéo thả một số hình ảnh vào.
-  Phần class có 2 class: MainActivity và MyImageAdapter kế thừa từ BaseAdapter.
- Bây giờ ta đi vào chi tiết của từng cái:
- activity_main.xml:
19_grid_6- Bạn có thể nhìn vào hình trên để làm hoặc tải coding mẫu ở bên dưới.
-solo_picture.xml:
19_grid_7- Bây giờ ta vào các class xử lý nghiệp vụ:
19_grid_8- Thứ nhất là class MyImageAdapter:
+ class này sẽ kế thừa từ BaseAdapter, và dùng để hiển thị từng hình ảnh riêng lẻ:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
package tranduythanh.com;
import android.content.Context;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.GridView;
import android.widget.ImageView;
/**
 * Class dùng để hiển thị từng hình ảnh riêng lẻ
 * @author drthanh
 *
 */
public class MyImageAdapter extends BaseAdapter {
 private Context mContext;
 private Integer []mThumbIds;
 public MyImageAdapter(Context c){
 mContext=c;
 }
 public MyImageAdapter(Context c,Integer []arrIds){
 mContext=c;
 mThumbIds=arrIds;
 }
 public int getCount()
 {
 return mThumbIds.length;
 }
 public Object getItem(int arg0)
 {
 return null;
 }
 public long getItemId(int arg0)
 {
 return 0;
 }
 /**
 * Cần override lại hàm này để hiển thị hình ảnh
 */
 public View getView(int arg0, View convertView, ViewGroup arg2) {
 ImageView imgView;
 if(convertView==null){
 imgView=new ImageView(mContext);
 //can chỉnh lại hình cho đẹp
 imgView.setLayoutParams(new GridView.LayoutParams(85, 85));
 imgView.setScaleType(ImageView.ScaleType.CENTER_CROP);
 imgView.setPadding(8, 8, 8, 8);
 }else{
 imgView=(ImageView) convertView;
 }
 //lấy đúng vị trí hình ảnh được chọn
 //gán lại ImageResource
 imgView.setImageResource(mThumbIds[arg0]);
 return imgView;
 }
}

Xem tiếp P3...

0 nhận xét:

Đăng nhận xét