2016-08-19 144 views
1

我正在實施Facebook登錄與我的應用程序。 我可以通過.xml文件設置Facebook登錄按鈕的文本。Facebook登錄按鈕文本

喜歡這個

<com.facebook.login.widget.LoginButton 
     xmlns:facebook="http://schemas.android.com/apk/res-auto" 
     android:id="@+id/login_button" 
     facebook:com_facebook_login_text="Custom Text Here"/> 

我已經看到了這個問題的答案如何設置通過XML文件中的文本問題,但反正是有以編程方式做到這一點?

編輯我想以編程方式執行此操作的原因是因爲我正在使用使用FontAwesome圖標的SpannableStringBuilder

像這樣:

SpannableStringBuilder facebook = new SpannableStringBuilder(getString(R.string.fa_icon_facebook) + " Facebook"); 
     facebook.setSpan(new CustomTypefaceSpan("", fontAwesome, this), 0, 1, Spanned.SPAN_EXCLUSIVE_INCLUSIVE); 
     facebook.setSpan(new CustomTypefaceSpan("", champagneRegularFont, this), 1, 10, Spanned.SPAN_EXCLUSIVE_INCLUSIVE); 

回答

0

你能不能做到這一點?

Spannable span = new SpannableString("Facebook Login"); 
span.setSpan(new ForegroundColorSpan(Color.BLUE), 15, 30, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);  
// some other customizations... 

loginButton.setText(span); 
+0

不,這不起作用。 –

0

您可以使用類似這樣:

<com.facebook.login.widget.LoginButton 
     xmlns:facebook="http://schemas.android.com/apk/res-auto" 
     facebook:com_facebook_login_text="YourText"/> 

希望這有助於:)

+0

正如我上面的代碼所示,我知道我可以這樣做。但是,我正在使用Font Awesome圖標和常規文本。那麼是否還有將兩種不同的字體放在屬性中?例如,讓漫畫Sans中的「Your」和Times New Roman中的「Text」? –

0

我不認爲這是可能的 - 至少從我可以告訴Facebook的一個處理幕後很多魔術。該解決方案是您喜歡的任何按鈕樣式的程序化登錄。