我正在创建一个Android应用程序,现在我正在实现社交网络登录。
Facebook按钮很好,但谷歌+按钮与facebook的语言不同。此外,它只是说“登录”,我想说“用谷歌登录”
我是android编程的新手,看到我需要制作一个自定义按钮,但不知道该怎么做(从哪里开始,如何调用它)并让它看起来像谷歌加一个。
有人能给我一些帮助吗?
由于
答案 0 :(得分:7)
尝试使用此功能更改Google +按钮文字。
protected void setGooglePlusButtonText(SignInButton signInButton,
String buttonText) {
for (int i = 0; i < signInButton.getChildCount(); i++) {
View v = signInButton.getChildAt(i);
if (v instanceof TextView) {
TextView tv = (TextView) v;
tv.setTextSize(15);
tv.setTypeface(null, Typeface.NORMAL);
tv.setText(buttonText);
return;
}
}
}
答案 1 :(得分:5)
我找到了两种方法:
1)使用自定义按钮对战:
<Button
android:id="@+id/btnGooglePlus"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:background="@drawable/common_signin_btn_text_dark"
android:text="@string/common_signin_button_text_long"
android:textColor="@android:color/white"
android:textAllCaps="false"
android:textSize="15sp"
android:paddingEnd="16dp"
android:paddingStart="62dp"/>
2)不要打架(太多):
<com.google.android.gms.common.SignInButton
android:id="@+id/btnGooglePlus"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"/>
mGooglePlusSignInButton = (SignInButton) findViewById(R.id.btnGooglePlus);
mGooglePlusSignInButton.setSize(SignInButton.SIZE_WIDE);
setGooglePlusTextAllCaps(mGooglePlusSignInButton, false);
public static void setGooglePlusTextAllCaps(SignInButton signInButton, boolean allCaps)
{
for (int i = 0; i < signInButton.getChildCount(); i++)
{
View v = signInButton.getChildAt(i);
if (v instanceof TextView)
{
TextView tv = (TextView) v;
tv.setAllCaps(allCaps);
return;
}
}
}
主要技巧似乎是&#34; mGooglePlusSignInButton.setSize(SignInButton.SIZE_WIDE);&#34;方法
答案 2 :(得分:3)
像这样设置app:buttonSize="wide"
<com.google.android.gms.common.SignInButton
android:id="@+id/sign_in_button"
android:layout_width="wrap_content"
android:layout_centerHorizontal="true"
android:layout_height="wrap_content"
app:buttonSize="wide"
android:layout_alignParentBottom="true"
android:layout_marginBottom="48dp"/>
但是,不要忘记在顶部
中添加此xml名称空间前缀xmlns:app="http://schemas.android.com/apk/res-auto"
答案 3 :(得分:1)
根据Customizing your Google+ sign in button guide,您可以使用
android:text="@string/common_signin_button_text_long"
获取文字&#39;使用Google登录&#39;在Google+ sign in branding guidelines
中讨论的登录按钮上