안규 공부방

Android > ActionBar - 네비게이션 드로어(Navigation Drawer) 사용하기

등록일 : 2017-07-05 19:03 조회수 : 93,582

ImageView 위젯에 이미지를 표시하는 방법들

Imageview 에 이미지를 표시하는 방법은 여러가지가 있다.  표시하는 방법 또한 여러가지가 있으므로 하나하나 정리를 해 놓아야 겠다.


1. src : xml에서 그냥 보여주는 방식
xml 에서 src 속성을 사용해서 파일을 선택해 주면 된다.
 
        <ImageView
            android:id="@+id/img_imageview"
            android:layout_width="90dp"
            android:layout_height="120dp"
            android:layout_weight="0.25"
            android:src="@drawable/ic_launcher" />


2. setImageResource() : xml 에는 imageView 만 추가하고 Activity에서 보여주는 방식
res/drawable 폴더에 a.png 라는 파일을 넣어두었다.

res 리소스를 읽어와 뿌려주는 방식이다.
 
			ImageView iv = (ImageView)findViewById(R.id.iv);
			iv.setImageResource(R.drawable.a);


3. setImageDrawable() : 리소스에 있는 이미지를 Activity로 보여주는 방식
res 리소스 이미지를 Drawable 객체를 생성해서 읽어드린후 뿌려주는 방식이다.
			ImageView iv = (ImageView)findViewById(R.id.iv);

			Drawable drawable = getResources().getDrawable(R.drawable.icon);
			iv.setImageDrawable(drawable);



4. setImageBitmap() : 비트맵을 사용해서 Activity에서 보여주는 방식
 
			ImageView iv = (ImageView)findViewById(R.id.iv);

			Bitmap bm = BitmapFactory.decodeResource(getResources(), R.drawable.icon);
			iv.setImageBitmap(bm);



5. setImageBitmap() : SD카드내 파일을 불러와 출력하는 방식
 
			File f = Environment.getExternalStorageDirectory();
			String path  = f.getAbsolutePath();

			ImageView iv = (ImageView)findViewById(R.id.iv);

			Bitmap bm = BitmapFactory.decodeFile(path + "bm1.bmp");
			iv.setImageBitmap(bm);



6. setImageBitmap() : 서버이미지를 읽어와 보여주는 방식
 
			try {
				Stirng urlString = "http://test.co.kr/test.gif";
				URL url = new URL(urlString);
				InputStream is = url.openStream();

				ImageView iv = (ImageView)findViewById(R.id.iv);
				Bitmap bm = BitmapFactory.decodeStream(is);
				iv.setImageBitmap(bm);
			} catch(Exception e) {
				e.printStackTrace();
			}

		


더 많은 다양한 방법들이 존재하니 공부하는데로 정리하도록 해야겠다.
 
※ 혹시 도움이 되셨다면 댓글에 한마디 남겨주세요!
작성자   비밀번호
자동글 방지     (자동글 방지 기능입니다.)
내용   댓글달기 
이메일 문의 : cak0280@nate.com  
Copyright 2000 By ENTERSOFT.KR All Rights Reserved.