我正在尝试将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);
我真正的问题是这究竟是什么问题?我没有运行程序,所以还没有进行任何初始化。我只是想在程序运行之前在设计模式下添加按钮。在设计模式下,没有程序正在运行,或者我错了?我还是编程的新手,这让我很头疼。任何帮助将不胜感激。
答案 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" />
我希望这会有所帮助!