Android 애플리케이션에 Google 로그인 버튼을 추가하려고 합니다. 하지만 Google 로그인 버튼의 텍스트를 변경하거나 맞춤 현지화를 제공하고 싶으신가요? 레이아웃 파일의 com.google.android.gms.common.SignInButton
에 android:text
설정하면 문제가 해결될 것이라고 생각할 것입니다. 그러나 SignInButton
에는 해당 속성을 사용할 수 없는 것으로 나타났습니다.
이 라이브러리를 사용하면 표준 android:text
속성을 사용하여 쉽게 Google 로그인 버튼에 텍스트를 추가할 수 있습니다. 또한 app:isDarkTheme="true"
속성을 사용하여 버튼 테마를 어둡거나 밝게 설정할 수도 있습니다. 이는 로그인 버튼 생성에 대한 Google의 지침에 따라 수행됩니다.
밝은 테마(흰색) | 어두운 테마(파란색) |
---|---|
![]() | ![]() |
app
모듈 수준 build.gradle
파일에 다음을 추가합니다.
dependencies {
implementation ' com.github.shobhitpuri:custom-google-signin-button:2.0.0 '
}
또한 최상위 build.gradle
파일에 다음을 추가합니다.
allprojects {
repositories {
google()
maven { url " https://jitpack.io " }
mavenCentral()
}
}
XML 레이아웃에는 다음이 포함됩니다.
< RelativeLayout
...
xmlns : app = " http://schemas.android.com/apk/res-auto " >
< com .shobhitpuri.custombuttons.GoogleSignInButton
android : layout_width = " wrap_content "
android : layout_height = " wrap_content "
android : layout_centerInParent = " true "
android : text = " @string/google_sign_up "
app : isDarkTheme = " true " />
</ RelativeLayout >
app:isDarkTheme="{Boolean}"
: 버튼의 파란색 테마와 회색 흰색 사이를 전환합니다. 라이브러리는 텍스트 색상과 배경색 변경을 처리합니다. 또한 버튼을 누르거나 버튼을 클릭할 때 색상 변경을 처리합니다.android:text="{string}"
: 평소와 같이 버튼에 텍스트를 설정합니다. Stackoverflow에는 분명히 이 문제에 대한 질문이 있습니다. 그 중 하나는 Google에서 로그인 버튼의 텍스트를 편집할 수 있나요?입니다. 그들 중 다수는 버튼에서 첫 번째 TextView
찾거나 버튼에서 TextView
찾는 것과 같은 "해킹"을 사용할 것을 제안합니다. 문제는 Google이 구현을 업데이트하면 작동이 중단될 수 있다는 것입니다.
문서에서 Google은 로그인 버튼 사용자 정의에 언급된 대로 사용자 정의 버튼을 만들 것을 제안합니다. 그런 다음 로그인 브랜딩 지침에 언급된 브랜딩 지침을 사용할 것을 제안합니다. 여기에는 버튼에 사용자 정의 아이콘 및 이미지 사용, 텍스트 크기 설정, 패딩 및 기타 로고에 대한 해야 할 일과 하지 말아야 할 일이 포함됩니다.
Google의 제안에 따라 수행하려면 일부 맞춤 작업이 필요합니다. 이 작은 3.93KB 라이브러리가 이를 수행합니다. 라이브러리 개선을 위해 자유롭게 끌어오기 요청을 보내주세요. 로그인 버튼을 구현하는 동안 이 문제를 발견했을 때 재사용 가능한 솔루션을 만들고 싶었습니다. 그냥 모두와 공유하고 싶었어요.
MIT License
Copyright (c) 2024 Shobhit Puri
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.