Android Google Login Button and Facebook sdk 4+ Bu

2019-04-04 06:50发布

I Am developing an application which use google and facebook integration ...I want to fix height and width of those button...and i want to set Button Text Manualy...

i had tried so far

<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"/>

although i had attemted something like this

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

         or 

    facebook:login_text="Login" 

But i Got Error::=>No resource identifier found for attribute 'login_text' in package 'com.test.b2c'

or in by coding

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

Now My layout Look Something Like This

enter image description here

I also want to set Height And width of this buttons .. ... help me friends .....thx in advance

UPDATE

I have no direct problem in setting width what am I really concern is the inconsistent HEIGHT shown in the picture. I need to find better way(s) to make those buttons height equally nd set Text to those Button.

enter image description here

7条回答
Anthone
2楼-- · 2019-04-04 07:05

Add linear layout and add these 2 button in it :

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

This will give Correct Height, Width and Margin for both button

查看更多
我欲成王,谁敢阻挡
3楼-- · 2019-04-04 07:05

You have to change android:layout_width to either wrap_content, or a specific size, preferably in dp's (e.g. 20dp, 30dp, 40dp).

As for the error, it is probably shown because you didn't edit your strings.xml, try using Android Studio, it will automatically create these values for you, and will also show you a preview of your app.

查看更多
看我几分像从前
4楼-- · 2019-04-04 07:08

In your Facebook Widget add the following:

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

UPDATE

You also need to include this:

xmlns:loginView="http://schemas.android.com/apk/res-auto"
查看更多
兄弟一词,经得起流年.
5楼-- · 2019-04-04 07:12

If we wanna change custom text of Facebook Login ..

Go to that Facebook library project And go to string.xml

you will find something like this

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

Replace this with your custom text

Although if you want to change custom text of Google Plus you can

From OnCreate call this

 setGooglePlusButtonText(signinButton,"your custom text");

//Text Change Method Of 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;
         }
      }
}

For Height inconsistancy of facebook i had add padding to Facebook Button XML

android:paddingTop="20dp"
android:paddingBottom="20dp"
查看更多
▲ chillily
6楼-- · 2019-04-04 07:14

You just need to change the

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

and for setting the buttons manually you can concern with the specific docs. i,e check it or this is a good example.

查看更多
霸刀☆藐视天下
7楼-- · 2019-04-04 07:26
<com.facebook.login.widget.LoginButton
    xmlns:fb="http://schemas.android.com/apk/res-auto"
    fb:com_facebook_login_text="Your Text"
查看更多
登录 后发表回答