안녕하세요~!
오늘은 간단한 방법으로 간편 로그인 버튼 이미지를 바꿔 보겠습니다.
기존 카카오톡, 네이버, 페이스북 Api를 활용하여 간편 로그인을 구현하였더만 아래와 같은 결과 화면을 얻을 수 있었습니다.
[그림 - 처음 간편 로그인 적용한 화면]
그러나 위 화면으로 앱을 서비스한다면 상당히 일관성도 없고 사용자로 하여금 별로인 디자인이라고 생각하게 만들겠죠?
그래서 아래와 같이 바꿔버렸습니다. 동작은 똑같이 잘 되구요~!
[그림 - 내 이미지로 바꿔버린 화면]
그럼 어떻게 그림을 바꾸었는데 동작이 똑같이 되는지 알아보도록 하겠습니다.
힌트는 바로 요놈입니다. performClick() 함수입니다.
PerformClick()란?
정의가 되어있으면 뷰의 클릭리스너를 호출한다. 클릭과 관련된 모든 액션을 수행한다!라고 되어있습니다. |
(--> 즉 내 이미지를 클릭하면 기존 로그인이 작동되도록 원래 이미지에 performClick()을 수행하도록 하는 거죠! - 대신 클릭 시키기)
[원래 코드]
(3개의 버튼 중 하나로만 예시를 들을 테니 왜 그림에는 3개인데 여긴 한 버튼의 코드뿐이야? 라고 하지 말아주세요 ㅜ)
<TextView |
--> 위의 방법으로 xml을 작성하면 네이버가 제공하는 공식 로그인 이미지가 화면에 나타납니다. 참고로 layout_height="20dp"는
제 임의대로 작성한 것이기 때문에 다른 개발자분들 께서는 원하시는 사이즈로 맞추시기 바랍니다.
[바꾼 코드]
(FrameLayout을 활용하여 기존 로그인 버튼 이미지를 감쪽같이 숨겨버린다!)
|
-->제 커스텀 로그인 이미지는 FrameLayout 안에 ImageView로 등록하였습니다. 그리고 제가 볼때는 height이 50dp일때가 로그인 버튼
이미지가 가장 깔끔한 것 같아 50dp로 작성하였습니다. 그리고 기존 로그인 버튼 이미지 height은 20dp니 제 이미지의 height 50dp보다 작기 때문에 자동적으로 화면에 보이지 않게 됩니다.
[JAVA단 코드]
private ImageView fakeNaver; //제 이미지의 ImageView ... // (기본적인 코드 생략) ... // (기본적인 코드 생략) @Override |
--> 위 주석만 봐도 기본적인 내용이라 이해가 갈 것입니다.
저도 여기저기 문서를 찾아보다가 위 방법이 가장 쉬운 것 같아 늘 이 방법을 활용하곤 합니다. 질문은 댓글로 남겨주세요~!
'[Android] > 허접 Programming Tips' 카테고리의 다른 글
Google Map 구글 지도 getFragmentManager() Deprecated 해결방법 (0) | 2018.11.29 |
---|---|
안드로이드 Animation으로 Custom Loading(커스텀 로딩) 구현하기(2/2) (3) | 2017.07.18 |
안드로이드 Animation으로 Custom Loading(커스텀 로딩) 구현하기(1/2) (3) | 2017.07.13 |
Android 7.0 Nougat OS 이미지 사진 촬영 캡처 및 자르기 (2/2) (81) | 2017.01.22 |
Android 7.0 Nougat OS 이미지 사진 촬영 캡처 및 자르기(1/2) (9) | 2017.01.22 |