如何用facebook loginbutton解决渲染问题?

时间:2016-10-21 08:31:29

标签: android facebook facebook-graph-api

我正在尝试将facebook应用到我的应用中。我正在按照Facebook开发者网站的指示,但是卡在了一个没有完全解释的步骤,或者在我的情况下,假设我知道他们在谈论什么。

无论哪种方式,我都添加了facebook sdk,并按要求完成了所有预备步骤。但是,当我将facebook登录按钮添加到我的gameconsole.xml并尝试将其切换到android studio中的设计视图时,我收到渲染错误。

这是我的gameconsole.xml

<?xml version="1.0" encoding="utf-8"?>

         <RelativeLayout
           xmlns:android="http://schemas.android.com/apk/res/android"
           xmlns:app="http://schemas.android.com/apk/res-auto"
           android:layout_width="match_parent"
           android:layout_height="match_parent"
           android:orientation="vertical" 
           android:id="@+id/gameconsole_bg">


   <ImageView
    android:id="@+id/imageView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="30dp"
    android:maxHeight="325dp"
    android:adjustViewBounds="true"

    />

<EditText
    android:id="@+id/editText1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/imageView1"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="20dp"
    android:capitalize="characters"
    android:ems="10"
    android:gravity="center" />


<TextView
    android:id="@+id/editText2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/imageButton2"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="97dp"
    android:ems="5"
    android:visibility="invisible"
    />

<TextView
    android:id="@+id/editText3"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/editText2"
    android:layout_below="@+id/imageButton2"
    android:ems="5"
    android:visibility="invisible"
     />

<TextView
    android:id="@+id/textView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/imageView1"
    android:layout_centerHorizontal="true"
    android:text="@string/pc1"
    android:textSize="12sp"
    android:textColor="#ffffff" />


<ImageButton
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="@drawable/help"
    android:id="@+id/imageButton3"
    android:layout_above="@+id/editText2"
    android:layout_toLeftOf="@+id/editText3"
    android:layout_toStartOf="@+id/editText3" />

<ImageButton
    android:id="@+id/imageButton2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="@drawable/rateus"
    android:layout_marginTop="60dp"
    android:layout_below="@+id/editText1"
    android:layout_toRightOf="@+id/editText3"
    android:layout_toEndOf="@+id/editText3" />



    <com.facebook.login.widget.LoginButton
        android:id="@+id/login_button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="30dp"
        android:layout_marginBottom="30dp" />





    </RelativeLayout>

我在某处读过必须首先调用facebook.sdkinitialize才能使UI正常工作?好的。我把这行代码放在我的应用程序代码中

 import android.app.Application;
 import com.facebook.FacebookSdk;
 import com.facebook.appevents.AppEventsLogger;

public class MyApp extends Application {

@Override
public void onCreate() {
    super.onCreate();
    // Initialize the SDK before executing any other operations,
    FacebookSdk.sdkInitialize(getApplicationContext());
    AppEventsLogger.activateApp(this);

我真正的问题是这究竟是什么问题?我没有运行程序,所以还没有进行任何初始化。我只是想在程序运行之前在设计模式下添加按钮。在设计模式下,没有程序正在运行,或者我错了?我还是编程的新手,这让我很头疼。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

渲染问题通常与您的依赖关系有关... 尝试像这样升级 com.android.support:appcompat-v7

dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:24.0.0'
compile 'com.facebook.android:facebook-android-sdk:[4,5)'
}

这是我的facebook登录按钮

  <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" />

我希望这会有所帮助!