可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
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
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.
回答1:
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"
回答2:
This xml code for style customizes my app's facebook login button like in the picture (in text and button size).
<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" />
Result:
回答3:
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
回答4:
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.
回答5:
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.
回答6:
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"
回答7:
<com.facebook.login.widget.LoginButton
xmlns:fb="http://schemas.android.com/apk/res-auto"
fb:com_facebook_login_text="Your Text"