본문 바로가기
안드로이드

안드로이드 스튜디오 간단한 이미지뷰 활용방법 2가지

by 아스키의 공부방 2019. 10. 31.
728x90
반응형

프로젝트 생성 > Empty Activity 선택

프로젝트명 및 기타 사항 설정 후 Finish

Sync가 끝날때까지 대기

기본 생성되어 있는 텍스트뷰를 지우고 레이아웃을 변경합니다.

Convert View 선택

리니어레이아웃 선택 후 

orientation에서 vertical로 변경합니다.

 

res폴더 아래 drawable 폴더에 이미지를 추가합니다.

 

레이아웃태그에서 프레임 레이아웃을 끌고온 후

이미지뷰를 프레임레이아웃 아래로 드래그 드랍합니다

팔렛트에서 이미지뷰를 컴포넌트 트리에 드래그 드랍해서 이미지를 선택합니다.

이미지뷰 2개가 한 자리에 겹쳐있는 상태입니다.

 

이미지뷰 속성을 변경하겠습니다.

 

layout_width속성과 layout_height속성 값을  wrap_content에서  match_parent로 변경합니다.

그 다음 이미지뷰2의 visibility속성 값을  invisible로 변경합니다.

그 다음 버튼을 눌러서 onClick속성에 값을 작성합니다 ( onBtnClicked )

그런 다음 아래 Design탭 옆에 있는 Text탭을 클릭합니다.

 

밑으로 내려보면 버튼 속성에 android:onClick="onBtnClicked"부분에

빨간줄이 있을겁니다.

onBtnClicked에 커서를 옮긴다음

알트+엔터를 누릅니다.

Create ' onBtnClicked(View)' in 'MainActivity'를 클릭합니다.

그러면 MainActivity.java로 화면이 옮겨집니다.

이제 소스를 작성합니다.

 

소스 전문

package com.example.myapplication;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.view.View;
import android.widget.ImageView;

public class MainActivity extends AppCompatActivity {

    ImageView imageView;
    ImageView imageView2;

    boolean level;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        level = false;
        imageView = findViewById(R.id.imageView);
        imageView2 = findViewById(R.id.imageView2);
    }

    public void onBtnClicked(View view) {
        if(level == false) {
            imageView.setVisibility(View.INVISIBLE);
            imageView2.setVisibility(View.VISIBLE);
            level = true;
        }
        else  if(level == true) {
            imageView.setVisibility(View.VISIBLE);
            imageView2.setVisibility(View.INVISIBLE);
            level = false;
        }
    }
}

 

에뮬레이터 실행 화면

버튼을 누르면 이미지가 변합니다

 

2개의 이미지뷰를 이용해서 버튼을 누를 때 마다 이미지를 새로 불러오는 느낌을 줍니다.

 

 

 

이어서 하겠습니다.

 

기초를 익히기 위해서 했지만 낭비가 심하죠.

 

해당 프로젝트에서 이미지뷰를 하나 지우겠습니다.

이미지뷰2를 지웠습니다.

클래스로 넘어가겠습니다.

쓸모없는 부분을 지웁니다.

이제 버튼을 누를때마다 이미지가 변경되게 작성합니다.

 

소스 전문

package com.example.myapplication;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.view.View;
import android.widget.ImageView;

public class MainActivity extends AppCompatActivity {

    ImageView imageView;
    boolean level;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        imageView = findViewById(R.id.imageView);
        level = false;
    }

    public void onBtnClicked(View view) {
        if(level == false) {
            imageView.setImageResource(R.drawable.dream02);
            level = true;
        }
        else if(level == true) {
            imageView.setImageResource(R.drawable.dream01);
            level = false;
        }
    }
}

에뮬레이터 실행 화면

성공했습니다.

728x90
반응형