在创建Facebook登录按钮时,我遵循了Facebook文档,然后登录正常运行,但是我想为此自定义按钮,因为我尝试了很多事情但没有任何效果。
1)首先,我尝试从xml像这样:
<com.facebook.login.widget.LoginButton
android:id="@+id/authButton"
android:layout_width="match_parent"
android:layout_height="45dp"
android:layout_marginRight="30dp"
android:layout_marginLeft="30dp"
android:padding="10dp"
android:layout_gravity="center_horizontal"
android:layout_marginTop="30dp"
android:textColor="@color/white"
android:background="@drawable/fbbutton_state"
android:textSize="15sp"
android:text="Facebook"
/>
2)创建自定义类并扩展了LoginButton。
public class CustomLoginButton extends LoginButton {
public CustomLoginButton(Context context, AttributeSet attrs) {
super(context, attrs)
this.setBackgroundColor(R.color.com_facebook_likeboxcountview_border_color);
this.setCompoundDrawablesWithIntrinsicBounds(R.drawable.my_own_icon, 0, 0, 0);
this.setText("Facebook");
}
}
此图标的颜色已更改,但仍为文本。
3)最后我在facebook sdk中尝试了一下,我更改了字符串和样式,它必须可以工作但是没有结果
<string name="com_facebook_loginview_log_in_button">Log in via Facebook</string>
<style name="com_facebook_loginview_default_style" parent="@android:style/Widget.Button">
<item name="android:layout_width">wrap_content</item>
<item name="android:layout_height">45dp</item>
<item name="android:background">@drawable/com_facebook_button_blue</item>
<item name="android:textColor">@color/com_facebook_loginview_text_color</item>
<item name="android:textSize">@dimen/com_facebook_loginview_text_size</item>
<item name="android:textStyle">bold</item>
<item name="android:paddingLeft">@dimen/com_facebook_loginview_padding_left</item>
<item name="android:gravity">center</item>
</style>
我在登录按钮和常用的SO登录按钮中发现的一个区别是,它们就像:<com.facebook.widget.LoginButton
和我的这样:<com.facebook.login.widget.LoginButton
但是我认为Facebook升级了此功能。
在您的XML中:
输入宽度和高度com.facebook.login.widget.LoginButton
0,放置自定义按钮,输入id及其全部,
现在转到您的班级,获取自定义按钮的单击侦听器,然后放置此行。
authButton.performClick();
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句