관리 메뉴

Bbaktaeho

[Android] Click 이벤트로 Toast 생성하기 (setOnclickListener, makeToast) 본문

개발 (Develop)/안드로이드 (Android)

[Android] Click 이벤트로 Toast 생성하기 (setOnclickListener, makeToast)

Bbaktaeho 2020. 9. 4. 00:56
반응형

개발하기 전에


안드로이드 애플리케이션을 개발하려면 IntelliJ IDEA, Android Studio와 같은 통합 개발환경이 필요합니다.

저는 Android 4.0.1 버전으로 진행하겠습니다.

기획한 내용은 버튼과 이미지뷰를 클릭했을 때 토스트를 만들 것입니다.

순서

  1. 새로운 프로젝트 생성
  2. 디자인
  3. 로직 작성
  4. 실행 그리고 결과

프로젝트 생성


안드로이드 스튜디오를 실행시키면 첫 화면으로 위와 같은 화면을 볼 수 있습니다.

Start a new Android Studio project 클릭합니다.

 

다음은 앱의 기본 템플릿을 선택하는 화면이 나옵니다.

Empty Activity 를 클릭합니다.

 

다음은 프로젝트의 이름과 패키지의 이름, 프로젝트 저장 위치, 언어, 최소 sdk를 설정할 수 있습니다.

 

프로젝트를 만들고 나면 보이는 첫 화면입니다.

기본 빌드 과정이 약간의 시간이 소요됩니다.

디자인


버튼과 이미지를 클릭해서 안드로이드 토스트를 만들려면 먼저 버튼과 이미지 컴포넌트가 필요합니다.

좌측 res -> layout -> activity_main.xml을 열어줍니다.

 

좌측 Palette에서 ButtonImageView 컴포넌트를 드래그&드롭으로 추가합니다.

 

모든 컴포넌트를 마술봉 아이콘을 클릭해서 자동으로 제약 조건을 맞춰줍니다.

 

새로운 이미지를 res -> drawable에 추가합니다.

ImageView를 클릭한 후, 우측 속성 변경 창에서 srcCompat을 클릭합니다.

 

추가한 이미지를 가져옵니다.

 

Button ImageView의 고유 값인 id를 변경합니다.

코드에서 직접 변경도 가능하고 디자인 편집기에서 속성 창에서도 변경이 가능합니다.

로직 작성


// 전체 코드
public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Button btn1 = findViewById(R.id.btn_1);
        ImageView img1 = findViewById(R.id.img_1);

        btn1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Toast.makeText(getApplicationContext(), "버튼 클릭", Toast.LENGTH_SHORT).show();
            }
        });

        img1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Toast.makeText(getApplicationContext(), "이미지 클릭", Toast.LENGTH_SHORT).show();
            }
        });
    }
}

MainActivity.java 파일에서 위와 같은 로직을 작성합니다.

 

Button btn1 = findViewById(R.id.btn_1);
ImageView img1 = findViewById(R.id.img_1);

xml 파일에서 만들어놓은 컴포넌트의 id 값으로 Activity에서 로직을 작성할 수 있게 연결합니다.

여기서 findViewById() 메서드는 View 타입을 리턴합니다. 따라서 View 객체를 찾는 메서드입니다.

 


btn1.setOnClickListener(new View.OnClickListener() {
	@Override
	public void onClick(View view) {
		Toast.makeText(getApplicationContext(), "버튼 클릭", Toast.LENGTH_SHORT).show();
	}
});

img1.setOnClickListener(new View.OnClickListener() {
	@Override
	public void onClick(View view) {
		Toast.makeText(getApplicationContext(), "이미지 클릭", Toast.LENGTH_SHORT).show();
	}
});

setOnclickListener 메서드로 클릭 이벤트가 발생했을 때 수행하는 로직을 작성할 수 있습니다.

 

Toast.makeText(getApplicationContext(), "버튼 클릭", Toast.LENGTH_SHORT).show();

토스트를 실행하는 코드입니다.

Toast 클래스의 makeText 메서드를 통해서 작성한 String을 띄울 수 있습니다.

실행 그리고 결과


상단의 재생 아이콘을 클릭합니다. (Shift + F10)

 

첫 실행 화면
버튼 클릭
이미지 클릭

 

반응형