저도 해당글에 대해서 공감하는데요
LoginButton을 사용하지 않고 Session을 얻고 싶은 이유는 디자이너의 개발요구 사항에 맞춰 개발하다보면
빈번히 발생할 수 있다고 생각합니다.
해당 부분에 대해서 조금 더 자세한 레퍼런스의 설명이 있었더라면 더 좋지 않을까 하는 생각을 해봅니다.
1개의 좋아요
@MJ_ 카카오계정 외에도 다른 SNS 로그인 기능을 함께 사용중이기 때문에 그대로 사용하면 UI가 예쁘지가 않습니다. 윗분 말씀대로 리소스 수정이 가능했으면 좋겠습니다.
이런거 써도 되려나…
LoginButton 에서 아래의 onAttachedToWindow() 메소드를 보면, 레이아웃을 인플레이트 하는 코드가 있습니다. 살짝 저 코드를 주석 처리하고, kakao widget 의 LoginButton 을 가져다 사용하는 XML 에서 직접 UI를 입혀주면… LoginButton 의 기능적인 면을 그대로 활용한 상태에서 UI만 변경해서 사용할 수 있지요. 물론, SDK의 가이드라인대로 개발하는게 가장 좋다고 생각합니다만…
/**
* 로그인 버튼 클릭시 세션을 오픈하도록 설정한다.
*/
@Override
protected void onAttachedToWindow() {
super.onAttachedToWindow();
// inflate(getContext(), R.layout.kakao_login_layout, this);
setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
// 카톡 또는 카스가 존재하면 옵션을 보여주고, 존재하지 않으면 바로 직접 로그인창.
boolean canWithTalk = TalkProtocol.existCapriLoginActivityInTalk(getContext());
boolean canWithStory = StoryProtocol.existCapriLoginActivityInStory(getContext());
if(canWithTalk || canWithStory) {
onClickLoginButton(canWithTalk, canWithStory);
} else {
Session.getCurrentSession().open(loginSessionCallback, AuthType.KAKAO_ACCOUNT);
}
}
});
}
1개의 좋아요