Можно ли изменить изображение кнопки входа в Facebook в Android Android SDK3?
Facebook Android sdk имеет com.facebook.widget.LoginButton
Я хочу разместить свой собственный образ для кнопки "Вход". Возможно ли это?
До сих пор я пытался добавить android:src="@drawable/facebook"
в файл макета как атрибут элемента кнопки без везения
Ответы
Ответ 1
Я закончил переопределять текст как пустую строку, а затем определял setBackgroundResource
кнопки на моем изображении (не нуждался в динамической функции входа/выхода из системы)
<com.facebook.widget.LoginButton
xmlns:fb="http://schemas.android.com/apk/res-auto"
android:id="@+id/login_button"
android:layout_width="249dp"
android:layout_height="45dp"
android:layout_above="@+id/textView1"
android:layout_centerHorizontal="true"
android:layout_gravity="center_horizontal"
android:layout_marginBottom="30dp"
android:layout_marginTop="30dp"
android:contentDescription="@string/login_desc"
android:scaleType="centerInside"
fb:login_text=""
fb:logout_text="" />
И в коде я определил фоновый ресурс:
final LoginButton button = (LoginButton) findViewById(R.id.login_button);
button.setBackgroundResource(R.drawable.facebook);
Вид обходного пути, но я предпочел это сменить код SDK для Facebook (хотя он очень прямолинейный), и беспокоиться об обновлении каждый раз, когда я обновляю их версию.
Ответ 2
да, если вы хотите изменить текст и изображение, то напишите ниже код.
authButton = (LoginButton) view.findViewById(R.id.authButton);
authButton.setBackgroundResource(R.drawable.icon);
authButton.setText("Login");
authButton.setCompoundDrawablesWithIntrinsicBounds(null, null, null, null);`
Ответ 3
Другой способ
loginButton = (LoginButton) findViewById(R.id.fb_login_button);
loginButton.setVisibility(View.GONE);
ImageView ivFbCustomButton = (ImageView) findViewById(R.id.iv_fb_custom_button);
ivFbCustomButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
com.facebook.login.widget.LoginButton btn = new com.facebook.login.widget.LoginButton(FacebookActivity.this);
btn.performClick();
}
});
Примечание:
Вам нужно написать код для двух кнопок в файле XML. Один для кнопки facebook по умолчанию (мы скрываем его на начальном шаге). Второй для пользовательской кнопки