Android ImageButton获取错误

Android ImageButton获取错误,android,imagebutton,Android,Imagebutton,我试图在应用程序上添加imagebutton,但当我尝试运行它时,出现以下错误: 03-21 14:57:41.936: E/AndroidRuntime(794): java.lang.RuntimeException: Unable to start activity ComponentInfo{br.com.facilit.target.app.android/br.com.facilit.target.app.android.LoginActivity}: android.view.In

我试图在应用程序上添加imagebutton,但当我尝试运行它时,出现以下错误:

03-21 14:57:41.936: E/AndroidRuntime(794): java.lang.RuntimeException: Unable to start activity ComponentInfo{br.com.facilit.target.app.android/br.com.facilit.target.app.android.LoginActivity}: android.view.InflateException: Binary XML file line #78: Error inflating class android.widget.ImageButton
我的XML代码:

<ImageButton
            android:id="@+id/btnEntrar"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignRight="@+id/txtFieldSenha"
            android:layout_below="@+id/txtFieldSenha"
            android:layout_marginTop="25dp"
            android:background="@style/AppTheme"
            android:contentDescription="@string/btn_entrar_desc"
            android:src="@drawable/login_btn_entrar" />

您可能不想使用

 android:background="@style/AppTheme"

但是编辑器应该准确地指出XML中的错误。。如果没有的话,尝试一个干净的建筑

您正在使用@+id来对齐右侧的布局和下方的布局

尝试删除+。 应该是这样的

<ImageButton
            android:id="@+id/btnEntrar"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignRight="@id/txtFieldSenha"
            android:layout_below="@id/txtFieldSenha"
            android:layout_marginTop="25dp"
            android:background="@style/AppTheme"
            android:contentDescription="@string/btn_entrar_desc"
            android:src="@drawable/login_btn_entrar" />


清理您的项目,然后重试。如果我不使用它,按钮会带有边框。我把它擦干净了,但是问题出了persists@Stefan+信号用于创建新id。如果要引用另一个视图,为什么要使用+?请向我解释,如果您使用android:layout_below=“@id/txtFieldSenha”,并且您在ImageButton下面定义了txtFieldSenha,它将崩溃,因为还没有这样的id。使用+将防止这种情况。哦,好的。我认为这会带来麻烦,因为它会尝试在同一布局中添加3倍相同的ID。谢谢你的解释。不,基本上它只是跳过了引用,然后在整个布局启动后再次返回。我不确定是否有一点性能上的折衷,这听起来确实是一点额外的工作。但在我看来,在代码的可用性之上选择它可能还不够。就像这样,在更改布局时,您和其他人都不必担心这一点。
<ImageButton
            android:id="@+id/btnEntrar"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignRight="@id/txtFieldSenha"
            android:layout_below="@id/txtFieldSenha"
            android:layout_marginTop="25dp"
            android:background="@style/AppTheme"
            android:contentDescription="@string/btn_entrar_desc"
            android:src="@drawable/login_btn_entrar" />