(1) 안드로이드 (android) 의 ImageView 레이아웃에 대한 사용법 |
ImageView 는 이미지를 표현하는 레이아웃이다.
아래의 전체 예제는 리소스에 대한 정보를 가져와 ImageView 레이아웃에 표현하는 것이다.
예제의 소스처럼 ImageView 의 setImageResource 함수를 사용해서 리소스 데이터를
바로 넣을수도 있겠지만 보통 입맛에 맞게 크기를 조절한다던지 용량을 줄이는 등의
작업을 진행한후 사용한다.
이때는 리소스 데이터를 Bitmap 데이터로 변환한후 크기를 조작한다던지 용량을 줄이는
작업후 사용하면 된다. Bitmap 데이터의 크기를 조절한후 setImageBitmap 함수의
파라미터로 이미지를 넣어 셋팅한 예제이다.
ImageView iv = new ImageView(this); Bitmap orgImage = BitmapFactory.decodeResource(getResources(), R.drawable.news); Bitmap resize = Bitmap.createScaledBitmap(orgImage, 300, 400, true); iv.setImageBitmap(resize);
위의 예제는 리소스에 있는 그림을 가져와 셋팅한 것인데 SDCARD 에서 이미지를 가져와
셋팅을 할수도 있다. 먼저 에뮬레이터를 사용한다면 SDCARD 이미지에 그림을 복사해 넣고
decodeFile 함수를 호출해준다. 첫번째 파라미터로는 파일이 있는 주소가 들어가고 두번째
파라미터에는 BitmapFactory.Options 의 옵션값이 들어간다. 어떤 형태로 로딩할것인지
정해주는것이다.ImageView iv = new ImageView(this); BitmapFactory.Options bo = new BitmapFactory.Options(); bo.inSampleSize = 8; Bitmap bmp = BitmapFactory.decodeFile(thumbsDataList.get(position), bo); iv.setImageBitmap(bmp);
XML 을 사용하지 않고 순수하게 소스내에서 레이아웃 객체를 생성해 화면을 표현한
전체 예제이다. 소스에서 LinearLayout 는 최상위 레이아웃이고 여기에 ImageView
객체를 생성해서 넣은것이다. mLinearLayout.addView(iv); 와 같다.
그리고 LayoutParams.FILL_PARENT 은 XML 에서 layout_width="fill_parent" 와
동일한 표현으로 상위 레이아웃의 크기에 맞게 꽉 채운다는 말이다.
import android.app.Activity; import android.os.Bundle; import android.view.ViewGroup.LayoutParams; import android.widget.Gallery; import android.widget.ImageView; import android.widget.LinearLayout; public class Main extends Activity { private LinearLayout mLinearLayout; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // ImageView 를 추가하기 위한 LinearLayout 생성 mLinearLayout = new LinearLayout(this); // ImageView 객체 생성 ImageView iv = new ImageView(this); iv.setImageResource(R.drawable.test01); iv.setAdjustViewBounds(true); iv.setLayoutParams(new Gallery.LayoutParams( LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT)); iv.setScaleType(ImageView.ScaleType.FIT_XY); // 레이아웃 크기에 이미지를 맞춘다 mLinearLayout.addView(iv); setContentView(mLinearLayout); } }
'안드로이드 개발' 카테고리의 다른 글
안드로이드(Android) 기본 프로젝트 생성 (0) | 2010.08.31 |
---|---|
안드로이드(Android) SD 카드에 이미지나 파일 추가하기 (7) | 2010.08.25 |
안드로이드 (Android) Bitmap 구현, 관리 하기 (13) | 2010.08.25 |
android 안드로이드에서 문자열을 표현하는 방법 (3) | 2010.08.25 |
(2) 안드로이드(Android) 의 ImageView 레이아웃 옵션과 사용예제들 - 1 (2) | 2010.08.25 |
(3) 안드로이드(Android) 의 ImageView 레이아웃 옵션과 사용예제들 - 2 (24) | 2010.08.25 |
안드로이드(android) 데이타베이스(DB) sqlite3 다루기 (1) (2) | 2010.08.15 |
안드로이드(android) 탭(TabActivity) 3가지 구현하기 (33) | 2010.08.13 |