1. Trang chủ
  2. » Công Nghệ Thông Tin

Lập trình Android: Tạo Gallery pot

5 297 1

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 5
Dung lượng 253,5 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Android có cung cấp cho ta 1 công cụ để xem ảnh như 1 album.. Công cụ này thật sự tiện ích khi các bạn lập trình các ứng dụng quản lý SmartPhone.. Cho nên trong phần này mình sẽ tạo ra 1

Trang 1

Android có cung cấp cho ta 1 công cụ để xem ảnh (như 1 album) Công cụ này thật sự tiện ích khi các bạn lập trình các ứng dụng quản lý SmartPhone Cho nên trong phần này mình sẽ tạo ra 1 demo nho nhỏ miêu tả cách tạo và hoạt động của Gallery như sau:

Đầu tiên các bạn tạo 1 Project:

Project name: GalleryTest

Build Target: Android 2.3.3

Application name: GalleryTest

Package name: com.dac.GalleryTest

Create Activity: GalleryActivity

Kế tiếp các bạo add các hình tự chọn vào folder drawable-mdpi (thuộc folder res/) Các bạn tự rename hình và điều chỉnh các tên hình trong code thì ứng dụng mới không phát sinh lỗi được.

Sau đó các bạn đổi tên file main.xml thành gallery.xml và viết code như sau:

<?xml version="1.0" encoding="utf-8"?>

<Gallery xmlns:android="http://schemas.android.com/apk/res/android"

android:id="@+id/gallery"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

/>

Và trong file GalleryActivity.java:

package com.dac.GalleryTest

import android.app.Activity;

import android.content.Context;

import android.graphics.Bitmap;

import android.graphics.BitmapFactory;

import android.os.Bundle;

import android.util.Log;

import android.view.LayoutInflater;

Trang 2

import android.view.View;

import android.view.ViewGroup;

import android.widget.BaseAdapter;

import android.widget.Gallery;

import android.widget.ImageView;

public class GalleryActivity extends Activity {

/** Called when the activity is first created */

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.gallery);

Gallery gallery = (Gallery)findViewById(R.id.gallery);

ManateeAdapter manateeAdapter = new ManateeAdapter(this);

gallery.setAdapter(manateeAdapter);

}

public static class ManateeAdapter extends BaseAdapter { private static final String TAG = "ManateeAdapter"; private static int convertViewCounter = 0;

private Context mContext; private LayoutInflater mInflater;

static class ViewHolder {

ImageView image;

}

// Các bạn tự điều chỉnh tên các hình trong phần này:

private int[] manatees = {

R.drawable.manatee00, R.drawable.manatee01, R.drawable.manatee02,

R.drawable.manatee03, R.drawable.manatee04, R.drawable.manatee05,

R.drawable.manatee06, R.drawable.manatee07, R.drawable.manatee08,

R.drawable.manatee09, R.drawable.manatee10, R.drawable.manatee11,

R.drawable.manatee12, R.drawable.manatee13, R.drawable.manatee14,

R.drawable.manatee15, R.drawable.manatee16, R.drawable.manatee17,

R.drawable.manatee18, R.drawable.manatee19, R.drawable.manatee20,

R.drawable.manatee21, R.drawable.manatee22, R.drawable.manatee23,

R.drawable.manatee24, R.drawable.manatee25, R.drawable.manatee26,

R.drawable.manatee27, R.drawable.manatee28, R.drawable.manatee29,

Trang 3

R.drawable.manatee30, R.drawable.manatee31,

R.drawable.manatee32,

R.drawable.manatee33 };

private Bitmap[] manateeImages = new Bitmap[manatees.length];

private Bitmap[] manateeThumbs = new Bitmap[manatees.length];

public ManateeAdapter(Context context) {

Log.v(TAG, "Constructing ManateeAdapter");

this.mContext = context;

mInflater = LayoutInflater.from(context);

for(int i=0; i<manatees.length; i++) {

manateeImages[i] = BitmapFactory.decodeResource(

manateeThumbs[i] =

Bitmap.createScaledBitmap(manateeImages[i],

}

}

public int getCount() {

Log.v(TAG, "in getCount()");

return manatees.length;

}

public int getViewTypeCount() {

Log.v(TAG, "in getViewTypeCount()");

return 1;

}

public int getItemViewType(int position) {

Log.v(TAG, "in getItemViewType() for position " + position); return 0;

}

public View getView(int position, View convertView, ViewGroup parent) { ViewHolder holder;

Log.v(TAG, "in getView for position " + position +

", convertView is " +

((convertView == null)?"null":"being recycled"));

if (convertView == null) {

convertView = mInflater.inflate(R.layout.gridimage, null); convertViewCounter++;

Log.v(TAG, convertViewCounter + " convertViews have been

holder = new ViewHolder();

holder.image = (ImageView)

convertView.findViewById(R.id.gridImageView);

Trang 4

convertView.setTag(holder);

} else {

holder = (ViewHolder) convertView.getTag();

}

holder.image.setImageBitmap(manateeImages[position]);

return convertView;

}

public Object getItem(int position) {

Log.v(TAG, "in getItem() for position " + position);

return manateeImages[position];

}

public long getItemId(int position) {

Log.v(TAG, "in getItemId() for position " + position);

return position;

}

}

}

Và cuối cùng các bạn debug ứng dụng và có kết quả như sau (các bạn cầm chuộc kéo các tấm hình để xem các tấm ảnh kế tiếp)

Trang 5

Mọi ý kiến đóng góp các bạn vui lòng gữi bài viết về forum trang web www.laptrinhdidong.vn Rất mong nhận được sự phản hồi của các bạn.

Ngày đăng: 08/08/2014, 07:20

TỪ KHÓA LIÊN QUAN

w