티스토리 뷰

어플을 만드는 개발자가 한번은 꼭 써본 경험이 있을만한게 Toast입니다

이 토스트는 제 앱 강좌에서 도둑잡기 어플로 배운적이 있습니다


[Development/App] - #9 Toast와, 도둑잡기 게임을 만들어 봐요! (rand함수 이용)


사실 저 강좌에서 배운 토스트의 사용법도 전부가 아닙니다

(토스트 배경변경, 위치변경등도 할수 있습니다)

나머지 토스트 사용법은 #30~40대 강좌에서 응용 해보겠습니다



왜 Toast를 언급했냐면 이 글에서 언급하는 Crouton 라는 라이브러리도 Toast와 비슷하기 때문입니다



한마디로 언급하자면 감성적이고 이쁜 Toast의 진화 버전이라고 생각 하시면 됩니다



이 라이브러리는 아파치 라이센스이며, github에 소스가 샘플 예제와 함께 업로드 되어 있습니다

https://github.com/keyboardsurfer/Crouton

또한 마켓에도 Demo앱이 존재합니다

https://play.google.com/store/apps/details?hl=ko&id=de.keyboardsurfer.app.demo.crouton


그러나 샘플 프로젝트를 참조해도 약간 난해한 면이 많습니다

그래서 저는 이 Crouton의 예제를 직접 만들었습니다


또한 더욱더 편한 사용을 위해 CroutonHelper라는 클래스를 만들었습니다

(이 CroutonHelper를 사용하면 정말 편합니다 ㅎ)





라이브러리 다운로드 (Library Download)



2014-02-23 v1.0 첫 릴리즈


Crouton의 사용을 더욱 편하게 해주는 Helper 라이브러리 입니다

Crouton.zip파일안 HelperOpen폴더에 CroutonHelper.java파일이 포함되어 있으니 필요하신 분께서는 java파일을 참고해 주시길 바랍니다






CroutonHelper API


먼저 이 Helper를 사용하기 위해서는 import가 필요합니다

import com.tistory.whdghks913.croutonhelper.CroutonHelper;


그다음 Helper를 정의해야 합니다

CroutonHelper mHelper = new CroutonHelper(this);


그뒤 개발자가 mHelper를 사용하여 Text, TextSize등을 설정할수 있습니다

자세한 API는 아래와 같습니다

(지금 확인해 보니 Helper로 사용할수 있는 API가 약 35개 정도 있내요 ;;


전체 API는 아래 더보기를 눌러 확인해 주세요

주요 API는 아래와 같습니다

mHelper.setText() [필수]

Crouton의 글자를 설정합니다


mHelper.setTextColor()

Crouton의 글자색을 설정합니다


mHelper.setTextSize()

Crouton의 글자 크기를 설정하며, 단위는 sp입니다


mHelper.setBackgroundColor()

Crouton의 배경 색을 설정합니다 설정하지 않을경우 setStyle()의 설정을 따릅니다


mHelper.setDuration()

Crouton이 표시될 초를 설정합니다, 단위는 밀리세컨트초(1000=1초)입니다


mHelper.setCustomView()

Crouton에 Text대신 커스텀 View를 사용할때 사용합니다


mHelper.setStyle()

Style을 설정합니다

Style.ALERT : 빨강색, Style.CONFIRM : 초록색, Style.INFO : 파랑색


mHelper.setViewResId()

Crouton이 화면 맨 위에 표시되지 않고 View에 표시되도록 설정할때 사용합니다


mHelper.setInfinity()

Crouton이 사용자가 터치해야만 사라질수 있도록 설정합니다

사용자가 터치하지 않을경우 계속 나타납니다


mHelper.setImageResource()

이미지를 표여줄때 사용합니다


mHelper.setAutoTouchCancle()

터치하면 표시시간에 상관없이 사라지도록 설정합니다


모든 설정을 한다음 .show()를 호출해야 Crouton이 표시됩니다

아래에 자세한 API 설명이 있으니 참고해 주시기 바랍니다

제가 실수로 아래에 빠트린 API가 몇개 있을수 있습니다 mHelper.을 입력하신다음 컨트롤+스페이스 누르시면 사용할수 있는 API목록이 나타나니 참고 부탁드립니다


API 보기






어플 예제 소스



Helper를 이용한 예제 어플입니다



    


Style.ALERT, Style.CONFIRM, Style.INFO가 각각 (↑) 오른쪽 (↓) 모두 순서대로 입니다

경고/알림/정보로 중요도에 따라 색이 다릅니다


    


    

왼쪽(위) 스크린샷은 이미지 표시로 mHelper.setImageResource()를 사용한 결과이며

오른쪽(아래) 스크린샷은 커스텀 뷰 모습입니다



전체 메소드 수가 많아서 복잡해 보이실수 있지만 사용하시다 보면 정말 간단합니다

예제 소스를 다운로드 하셔서 확인해 보시길 강력 추천드립니다




그럼 이렇게 해서 Crouton을 마치겠습니다~

댓글
  • LiNE 감사합니다..^^
    워낙쉬워서 초보인 저도 쉽게 적용할수있었습니다.
    요즘미르님을 많이 만나군요..
    디벨에서도보고ㅎㅎ
    지금은 강좌앱입니다. 좋은강좌 감사합니다^^
    2014.03.14 23:15 신고
  • 이호준 cencle()메소드는 일부러 원본의 철자를 바꾸신건가요? 실수이신건가 했더니 setAutoTouchCencle()메소드도 이렇게 바꿔놓으셨더라구요 토스트 여러개 동시다발적으로 띄우고 전부 디스플레이 완료되기전에 액티비티 종료하면 앱 재실행 하기전까지는 Crouton이 아예 먹통이 되는 현상이 있어서 onPause() 오버라이드안에 cancle()넣어서 해결봤습니다 2014.04.30 05:13 신고
  • Favicon of http://itmir.tistory.com Mir(whdghks913) 노트북으로 빠르게 치다보니 잘못쳤내요 ; 수정 완료했습니다 감사합니다 2014.04.30 14:52 신고
  • damian 이 예제파일 공유해도 되나요?
    출처 남길께요
    2014.06.07 14:29 신고
  • Favicon of http://itmir.tistory.com Mir(whdghks913) 넵 꼭 주소 넣어주세요~ 2014.06.07 22:00 신고
  • 헤헤루 안녕하세요~ 감사히 잘 쓰고 있습니다.

    setAutoTouchCencle 메소드가 오타가 있어서 알려드려요~

    전반적으로 cancel이 cencle로 되어 있는 부분이 좀 있네요 ㅠㅠㅠㅠ
    2017.04.08 14:32 신고
댓글쓰기 폼