赞
踩
刚刚遇到的一个小问题,在引用 ‘com.facebook.fresco:fresco:0.6.0’ 库后,在布局中使用
<com.facebook.drawee.view.SimpleDraweeView
android:layout_width="150dp"
android:layout_height="150dp"
android:background="@null"
android:id="@+id/drawee_view"
android:layout_alignParentLeft="true"
app:viewAspectRatio="1" />
结果出现了 Binary XML file line #22: Error inflating class
com.facebook.drawee.view.SimpleDraweeView 的错误。
上网查了一下,报错的原因是这里是没有引用到com.facebook.drawee.view.SimpleDraweeView,所以需要对它进行初始化。
解决方法一
把初始化Fresco调整到setContentView(R.layout.activity_main);的上边 ,具体如下
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//初始化Fresco
Fresco.initialize(MainActivity.this);
setContentView(R.layout.activity_resign);
initView();
}
解决方法二
可以写一个Fresco的APPlication,方法如下:
import android.app.Application; import com.facebook.drawee.backends.pipeline.Fresco; /** * Fresco的初始化 * * Created by Gxs on 2016/7/24. */ public class Fresco extends Application { @Override public void onCreate() { super.onCreate(); Fresco.initialize(this); } }
需要在AndroidManifest.xml清单文件中引用一下,具体如下:
<application
android:name=".widget.Fresco"
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
在application 下添加 上 android:name=“.widget.Fresco” 就可以啦。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。