1

我正在将 facebook SDK 3.0 集成到我的应用程序中,我已将 facebook 登录按钮添加到可能的布局中,有人可以帮助我如何使用我的自定义图像更改 facebook 登录按钮

<LinearLayout android:orientation="vertical"
              android:layout_width="fill_parent"
              android:layout_height="fill_parent"
              android:background="#FFF"
              android:id="@+id/main_ui_container">
    <com.facebook.widget.LoginButton
            android:id="@+id/login_button"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="5dp"
            facebook:confirm_logout="false"
            facebook:fetch_user_info="true"
            />
<LinearLayout/>
4

3 回答 3

3

我是否正确理解您添加了 Facebook 自己的自定义 FacebookLoginButton 视图?

如果是这种情况,那么构造函数FacebookLoginButton(final Context context, final AttributeSet attrs)将被布局充气器调用,它引用了 facebook 库的 R 文件——不好。

因此,如果您想自定义该按钮超出 facebook sdk 中公开的按钮,我已经成功地将视图类 - FacebookLoginButton.java - 复制到我自己的项目中(您可能需要修改 FacebookLoginButton.java 以确保一切正确引用回 facebook 库)。连同它,将该构造函数引用的所有资源复制到您自己的项目中。不用说,您现在需要确保复制的类中的所有内容现在都引用您的项目资源。

最后,您当然需要将布局文件中的按钮类更改为您自己项目中复制的 FacebookLoginButton 的完全限定类名。

希望这可以帮助。

于 2013-04-16T14:18:30.077 回答
0

您可以自定义按钮的这些元素:

<declare-styleable name="com_facebook_login_view">
    <attr name="confirm_logout" format="boolean"/>
    <attr name="fetch_user_info" format="boolean"/>
    <attr name="login_text" format="string"/>
    <attr name="logout_text" format="string"/>
</declare-styleable>

在 xml 中使用这些属性。您还可以定义样式并更改与按钮相关的所有内容。

于 2013-10-09T17:45:35.590 回答
0

您应该能够在布局中为 LoginButton 指定 android:background。

请参阅 Friend Smash 示例,该示例为 LoginButton 使用自定义背景。

https://github.com/fbsamples/android-friend-smash

于 2013-04-17T17:12:22.817 回答