Android Google登录按钮和Facebook sdk 4+按钮布局

时间:2015-05-21 06:03:36

标签: android facebook google-plus android-linearlayout android-facebook

我正在开发一个使用googlefacebook集成的应用程序...我想修复那些按钮的高度和宽度......我想设置按钮文字手动... < / p>

到目前为止我已经尝试了

<com.facebook.login.widget.LoginButton
       xmlns:fb="http://schemas.android.com/apk/res-auto"
       android:id="@+id/connectWithFbButton"  
       android:layout_width="match_parent"
       android:layout_height="50dp"
       android:layout_marginLeft="10dp"
       android:layout_marginRight="10dp"
       android:text="@string/fbloginText"
       android:layout_marginTop="30dp"
/>

<com.google.android.gms.common.SignInButton
        android:id="@+id/signin"
        android:layout_width="match_parent"
        android:layout_height="50dp"
        android:text="@string/googleloginText" 
        android:layout_marginLeft="10dp"
        android:layout_marginRight="10dp"
        android:layout_marginTop="20dp"/>

虽然我已经注意到了这样的事情

    fb:login_text="Login"
    fb:logout_text="Logout"

         or 

    facebook:login_text="Login" 

但是我收到错误:: =&gt;在'com.test.b2c'包中找不到属性'login_text'的资源标识符

或通过编码

    loginButton = (LoginButton) findViewById(R.id.connectWithFbButton);
     loginButton.setText("Login");

现在我的布局看起来像这样

enter image description here

我也想设置这个按钮的高度和宽度.. ... 帮助我的朋友..... thx提前

更新

我在设置宽度方面没有直接问题我真正关心的是图片中显示的不一致的HEIGHT。我需要找到更好的方法来使这些按钮高度相同,并将Text设置为那些Button。

enter image description here

7 个答案:

答案 0 :(得分:12)

如果我们想更改Facebook登录的自定义文字..

转到Facebook库项目并转到string.xml

你会发现类似的东西

  <string name="com_facebook_loginview_log_in_button_long">Log in with facebook </string>

将其替换为您的自定义文字

虽然如果您想更改Google Plus的自定义文字,您可以

OnCreate 调用此

 setGooglePlusButtonText(signinButton,"your custom text");

// Google Plus的文字更改方法

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;
         }
      }
}

对于facebook的高度不一致我已经添加填充 Facebook Button XML

android:paddingTop="20dp"
android:paddingBottom="20dp"

答案 1 :(得分:11)

这个样式的xml代码可以自定义我的应用程序的Facebook登录按钮,如图所示(文本和按钮大小)。

<com.facebook.login.widget.LoginButton
    android:id="@+id/login_button"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_marginTop="40dip"
    android:paddingTop="10dp"
    android:paddingBottom="10dp"
    android:textSize="20sp"
    facebook:com_facebook_login_text="Facebook"
    facebook:com_facebook_logout_text="Facebook" />

结果: enter image description here

答案 2 :(得分:2)

添加线性布局并在其中添加以下两个按钮:

<LinearLayout 
    android:id="@+id/parentLinear" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"
    android:orientation="vertical" >

<com.facebook.login.widget.LoginButton
       xmlns:fb="http://schemas.android.com/apk/res-auto"
       android:id="@+id/connectWithFbButton"  
       android:layout_width="wrap_content"
       android:layout_height="50dp"
       android:layout_marginLeft="10dp"
       android:layout_marginRight="10dp"
       android:text="@string/fbloginText"
       android:layout_marginTop="30dp" />

<com.google.android.gms.common.SignInButton
        android:id="@+id/signin"
        android:layout_width="wrap_content"
        android:layout_height="50dp"
        android:text="@string/googleloginText" 
        android:layout_marginLeft="10dp"
        android:layout_marginRight="10dp"
        android:layout_marginTop="30dp" />
</LinearLayout>

这将为两个按钮提供正确的高度宽度保证金

答案 3 :(得分:1)

您必须将android:layout_width更改为wrap_content或特定尺寸,最好是dp(例如20dp30dp40dp)。< / p>

至于错误,可能会显示错误,因为您没有编辑strings.xml,尝试使用Android Studio,它会自动为您创建这些值,还会显示您的应用预览。

答案 4 :(得分:0)

您只需要更改

即可
android:layout_width="any size in dps"
android:layout_height="any size in dps"

要手动设置按钮,您可以关注特定的文档。我,e check it或 这是一个很好的example

答案 5 :(得分:0)

在您的Facebook Widget中添加以下内容:

android:paddingTop="20dp"
android:paddingBottom="20dp"
loginView:login_text="your custom text here"

<强>更新

您还需要包含此内容:

xmlns:loginView="http://schemas.android.com/apk/res-auto"

答案 6 :(得分:0)

{{1}}