xutils使用注意

本文参考自xutils更新到3.0后的基本使用规则

1. xutils中的依赖注入(IOC框架)
  • 在自定义的Application中初始化声明xutils框架
public class LYJApplication extends Application {
    @Override
    public void onCreate() {
        super.onCreate();
        x.Ext.init(this);//Xutils初始化
    }
}
  • 注意使用IOC框架注入的变量必须为私有,否则无效
  • 注意使用顺序,先要x.view().inject(this);,才能使用用到IOC的成员变量
  • 格式:
    注入成员变量 -> @ViewInject(value = 资源ID)
    注入布局文件 -> @ContentView(value = 资源ID)
    注入监听事件 -> @Event(value = 资源ID)
import org.xutils.view.annotation.ContentView;
import org.xutils.view.annotation.Event;
import org.xutils.view.annotation.ViewInject;
import org.xutils.x;
@ContentView(value = R.layout.activity_main)
public class MainActivity extends AppCompatActivity {
    @ViewInject(value = R.id.mybut)
    private Button mybut;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        x.view().inject(this);
    }
    @Event(value = R.id.mybut,type = View.OnClickListener.class)
    private void onButtonClick(View v){
        switch (v.getId()){
            case R.id.mybut:
                Toast.makeText(this,"你好我是Xutils的IOC功能",Toast.LENGTH_SHORT).show();
                break;
        }
    }
}
2. xutils用于加载网路图片
  • 主要语句
x.image().bind(image,url);
x.image().bind(image,url,imageOptions);

其中URL可以是网络图片URL,也可以是SD卡的图片路径;
imageOptions可以对图片的显示设置参数

ImageOptions imageOptions = new ImageOptions.Builder()
        .setSize(DensityUtil.dip2px(120), DensityUtil.dip2px(120))//图片大小
        .setRadius(DensityUtil.dip2px(5))//ImageView圆角半径
        .setCrop(true)// 如果ImageView的大小不是定义为wrap_content, 不要crop.
        .setImageScaleType(ImageView.ScaleType.CENTER_CROP)
        .setLoadingDrawableId(R.mipmap.ic_launcher)//加载中默认显示图片
        .setFailureDrawableId(R.mipmap.ic_launcher)//加载失败后默认显示图片
        .build();
x.image().bind(image, "http://pic.baike.soso.com/p/20090711/20090711101754-314944703.jpg",imageOptions);

你可能感兴趣的:(xutils使用注意)