Android > resource - 이미지 리소스 drawable
등록일 : 2017-07-05 16:57
조회수 : 68,553
이미지 리소스는 /res/drawable 밑에서 관리한다.
이미지 파일을 drawable 밑에 넣어두기만 하면 된다.
drawable 폴더는 drawable-hdpi, drawable-ldpi, drawable-mdpi, drawable-xhdpi, drawable-xxhdpi 등의 폴더가 있다.
이것은 장비의 화질에 따른 구분이며, 화질에 따라 다른 이미지를 리소스로 관리할 수 있게 한다.
또한 PNG 파일을 권장하고 있다.
이에 대한 자세한 내용은 안드로이드(Android) res(리소스) 관리 에서 참고하자
1. res(리소스)에 drawable 이미지 등록하기
등록할 이미지를 /res/drawable-XXX 폴더에 넣어둔다.
여기서는 에뮬레이터를 hdpi 버전의 디바이스를 선택했기에, googlelogo.png 와 naverlogo.png 파일을 /res/drawable-hdpi 에 넣어두었다.
파일을 넣어두면 이미지 파일 리소스 등록이 끝난다.
2. layout의 xml에서 drawable 이미지 리소스 가져오기
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >
<ImageView
android:id="@+id/imageView01"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:src="@drawable/googlelogo" />
</RelativeLayout>
- id : imageView01 로 <ImageView< 등록
- drawable 리소스의 googlelogo 파일 등록 ( android:src="@drawable/googlelogo" )
실행화면을 보자!
- googlelogo.png 출력
3. Activity.java에서 drawable 이미지 리소스 가져오기
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// drawable 리소스에서 naverlogo 파일 호출 하여 Drawable에 등록
Drawable drawable = getResources().getDrawable(R.drawable.naverlogo);
// id : imageView01 ImageView 를 가져온다.
// imageView01 에 리소스에서 가져온 naverlogo 등록
ImageView imageView = (ImageView)findViewById(R.id.imageView01);
imageView.setImageDrawable(drawable);
}
}
- getResources().getDrawable로 리소스에 있는 naverlogo 파일을 가져온다.
- ImageView 를 호출한 후 ImageView에 호출한 naverlogo 파일을 등록한다.
실행화면을 보자!
- naverlogo.png 파일 출력