我创建了一个自定义的Facebook登录按钮,但按钮上的图标没有正确显示。能帮帮我吗
登录XML:
<Button
android:id="@+id/login_button"
style="@style/ParseLoginUI.Button.ThirdPartyLogin"
android:layout_marginTop="@dimen/com_parse_ui_small_vertical_spacing"
android:background="@drawable/com_parse_ui_facebook_login_button_background_selector"
android:drawableLeft="@drawable/com_parse_ui_facebook_login_logo"
android:text="@string/com_parse_ui_facebook_login_button_label"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true" />
风格:
<style name="ParseLoginUI.Button.ThirdPartyLogin" parent="ParseLoginUI.Button">
<item name="android:paddingLeft">16dp</item>
<item name="android:paddingRight">24dp</item>
</style>
<style name="ParseLoginUI.Button" parent="@android:style/Widget.Button">
<item name="android:layout_width">match_parent</item>
<item name="android:layout_height">48dp</item>
<item name="android:background">@drawable/com_parse_ui_parse_login_button_background_selector</item>
<item name="android:textColor">@color/com_parse_ui_parse_login_display_text</item>
<item name="android:textSize">18sp</item>
</style>
代码:
loginButton = (Button)findViewById(R.id.login_button);
//loginButton.setBackgroundResource(R.drawable.com_parse_ui_facebook_login_logo); //DONT WORK
//loginButton.setCompoundDrawablesWithIntrinsicBounds(0, 0,0,0); //DONT WORK
我希望我的按钮看起来像这样 http://i.stack.imgur.com/xKxX3.png 最初来自Parse样本
答案 0 :(得分:1)
无需创建额外的drawable。只需致电
<com.facebook.widget.LoginButton
android:id="@+id/authButtonFb"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
您还需要将其添加到布局:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:fb="http://schemas.android.com/apk/res-auto"
详细信息Login with Facebook和customize-android-facebook-login-button
如果您使用Android studio,请在build.gradle
中调用它 dependencies {
compile 'com.facebook.android:facebook-android-sdk:4.1.0'
}
我希望它会对你有所帮助。
答案 1 :(得分:0)
而不是按钮使用默认的facebook按钮(请添加facebook jar)。它将为您提供相同的输出。
<com.facebook.login.widget.LoginButton
android:id="@+id/login_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="30dp"
android:layout_marginBottom="30dp" />
答案 2 :(得分:0)
使用facebook-android-sdk:3.19.0
依赖:
<com.facebook.widget.LoginButton
android:id="@+id/button_facebook_login"
android:drawableStart="@drawable/com_facebook_inverse_icon"
android:drawableLeft="@drawable/com_facebook_inverse_icon"
android:layout_gravity="center_horizontal"
android:layout_marginLeft="@dimen/activity_horizontal_margin"
android:layout_marginRight="@dimen/activity_horizontal_margin"
android:layout_height="wrap_content"
android:layout_width="match_parent" />
如果您使用facebook-android-sdk:4.20.0
,则可绘制图标名为com_facebook_button_login_logo