Kong돌이의 코딩이야기

Android Studio 버튼을 눌렀을 때 화면에 메시지 나타내기 (Toast) 본문

코딩이야기/안드로이드

Android Studio 버튼을 눌렀을 때 화면에 메시지 나타내기 (Toast)

Kong돌이 2021. 8. 17. 16:09
728x90

안녕하세요 Kong돌이 입니다!

오늘은 버튼을 활용하여 앱 화면에 메시지를 나타내는 것에 대하여 포스팅해볼게요!

 

activity_main.xml

 

먼저 프로적트를 생성 후 activity_main.xml 파일을 들어가 화면처럼 설정해주세요!

버튼을 생성하기 위해서는 1.Palette ➡ 2.Common ➡ 3.Button을 클릭 후 레이아웃 창 화면 정가운데에 위치하여 줍니다.

저는 Kong독자 분들의 편의를 위해 정가운데에 위치 했으며 사용용도에 따라서 바꿔주세요~

 

화면 정가운데에 위치한 버튼을 눌러준 후 위에 4.요술봉 같이 생긴 Infer Constraints를 눌러주세요!

요술봉을 눌러주시게 된다면 Constraint Widget이 나타날텐데요 Constraint Widget란 버튼의 제약을 걸어두는 것입니다. 쉽게 말해 제약을 걸어두지 않는다면 가상 단말을 실행하게 됐을 때 버튼이 내가 지정한 레이아웃 구조에 있지 않으며

위쪽으로 이동하게 됩니다. 그래서 저희는 항상 레이아웃을 잡을때 Constraint Widget를 통하여 레이아웃 구성을 해줍시다!!

 

마지막으로 버튼에 대한 ID를 지정해줘야 Kong돌이와 Kong독자분들이 MainActivity에서 버튼에 대하여 접근을 할 수 있습니다. 5번과 같이 버튼에 대한 ID를 지정해주세요! 지정해 주셨다면 이제 MainActivity로 이동합시다!!

 

 

MainActivity

 

버튼에 대한 ID에 접근 후 버튼의 객체를 생성해 줍니다.

여기서 findViewByID란 ID로 부터 대응되는 버튼 객체를 찾는 메서드입니다. 

특정 타입으로 받을때는 어떠한 일 이 있더라도 캐스팅이 필수이며 ID가 지정하는 타입과 캐스팅 타입은 일치해야 합니다.

 

버튼에 대한 ID를 찾고나서 TextView타입으로 대입하면 예외가 발생하게 됩니다.

버튼을 찾고 텍스트뷰의 속성을 바꾸는 건 안되며 간단한 예를 들어보겠습니다.

 

예)

Button btn = (Button)findViewById(R.id.btn) 는 R.id.btn이라는 ID로부터 버튼을 검색하는 겁니다.

앞서 레이아웃 설계를 하였던 XML 파일에 @+id/btn로 ID로 정의해주었으면 정의된 버튼은 btn객체로 대입받는 겁니다.

그러므로 findViewById가 버튼을 찾는다면 (Button) 타입으로 캐스팅해주어야 합니다!

문제 하나 내드리겠습니다.

 

문제: findViewById를 통하여 TextView를 찾고 싶습니다. id는 tv_name입니다.  Id가 정의된 TextView를 타입에 맞게 캐스팅해주고 댓글에 남겨주세요~ 

 

 

MainActivity

 

지정해준 btn객체를 setOnclockListener을 통하여 버튼에 대한 이벤트를 줍니다.

여기서 setOnclockListener(new ) 괄호 안에 new 만 넣어주고 엔터를 타격감 있게 탁!! 쳐 주시면 자동으로 OnClickListener에 대한 이벤트가 생성이 되는데요 그 안에 이제 Toast(토스트)라는 기능을 넣어볼 겁니다.

토스트 맛있.... 배고프지만 정신 차리고!! Toast란 무엇인가!!

궁금하실 수도 있기에 얄팍한 저의 얄팍한 지식을 통하여 밑에 정리해두었습니다.

 

Toast.makeText(,,)

3개의 인자를 넣어줘야 하는데요 첫 번째 인자는 Context 정보를 넘겨주고 두 번째 인자는 Toast 메시지로 사용자에게 보여주고 싶은 text를 적어주시면 됩니다 마지막 세 번째 인자는 토스트를 짧게 표현하는 인자 값인데요 제가 쓴 거와 반대로 길게 Toast 메시지를 표시할 수 있는 게 있습니다. 바로 Toast.LENGTH_LONG입니다! 

그리고 중요한 건 Show() 함수를 꼭 붙여주셔야 하는데요 Show() 함수를 통하여 Toast 메시지를 띄울 수 있습니다.

 

이제 한번 실행 해 볼까요 ??? 

 

 

 

끝~ 

Kong독자분들 오늘도 고생하셨어요~

그럼 저는 20000 Kong Bye~

 

 

 

Toast(토스트)란??

 

먼저 Toast 메시지를 띄우기 위해서는 Toast클래스의 static 멤버 함수인 makeText() 함수를 통하여 Toast객체를 생성해야 하며 makeText() 함수에는 3개의 인자 정보를 넘겨줘야 합니다.

 

앱을 이용하는 사용자에게 짧은 메시지 형식으로 정보를 전달하는 팝업창을 의미하며 시간이 지나면 자동으로 사라지는 메시지이며 메시지에 대한 사용자의 응답을 필요하지 않으며 단순히 앱을 이용하는 사용자에게 간단한 정보를 전달할 용도로 많이 사용됩니다.

 

Kong돌이의 TMI

 

저는 프로젝트 때 Toast를 많이 사용했으며 사용자에게 필요한 정보를 제공하는데 아주 많이 활용했습니다.

 

728x90
반응형
LIST
Comments