发布时间:2017-09-29责任编辑:朱明 浏览:972
Android开发过程中为了避免重复造轮子,一些功能可以借助成熟的第三方库来完成,以下是比较常用的第三方库:
1:TwinklingRefreshLayout
项目地址:https://github.com/lcodecorex/TwinklingRefreshLayout
支持下拉刷新和上拉加载,仿谷歌SwipeRefreshLayout,可自定义下拉及上拉动画。
代码:
// 下拉刷新与上拉加载
twinklingRefreshLayout = (TwinklingRefreshLayout) view.findViewById(R.id.twinkling_refreshLayout);
twinklingRefreshLayout.setFloatRefresh(true);
twinklingRefreshLayout.startRefresh();
twinklingRefreshLayout.setOnRefreshListener(new RefreshListenerAdapter() {
@Override
public void onRefresh(TwinklingRefreshLayout refreshLayout) {
super.onRefresh(refreshLayout);
twinklingRefreshLayout.startRefresh();
page = 1;
getData();
}
@Override
public void onLoadMore(TwinklingRefreshLayout refreshLayout) {
super.onLoadMore(refreshLayout);
twinklingRefreshLayout.startLoadMore();
page += 1;
getData();
}
@Override
public void onFinishRefresh() {
super.onFinishRefresh();
}
@Override
public void onFinishLoadMore() {
super.onFinishLoadMore();
}
});
2:Sketch
项目地址:https://github.com/panpf/sketch
一款强大的手势缩放框架。
代码:
// 图片手势缩放
SketchImageView pic = (SketchImageView) findViewById(R.id.full_screen_pic);
DisplayOptions displayOptions = new DisplayOptions();
displayOptions.setLoadingImage(R.mipmap.error);
displayOptions.setErrorImage(R.mipmap.error);
pic.setOptions(displayOptions);
pic.setZoomEnabled(true);
pic.displayImage(getIntent().getStringExtra("url"));
3:Luban
项目地址:https://github.com/Curzibn/Luban
一款优秀的仿微信图片压缩工具。
代码:
Luban.with(ModifyInformationActivity.this).load(file).setCompressListener(new OnCompressListener() {
@Override
public void onStart() {
progressBar.setVisibility(View.VISIBLE);
}
@Override
public void onSuccess(File data) {
try {
File dir = new File(MyApplication.PIC_PATH);
if(!dir.exists()){
dir.mkdirs();
}
if(data.exists()){
Bitmap afterCompress = BitmapFactory.decodeFile(data.getAbsolutePath());
long time = System.currentTimeMillis();
String res = MyApplication.PIC_PATH + "/" + time + ".jpg";
FileOutputStream out = new FileOutputStream(res);
afterCompress.compress(Bitmap.CompressFormat.JPEG, 100, out);
out.flush();
out.close();
file = new File(res);
}else{
System.out.println("无法获取Bitmap图像");
}
}catch (Exception e){
e.printStackTrace();
}finally {
progressBar.setVisibility(View.GONE);
}
}
@Override
public void onError(Throwable e) {
e.printStackTrace();
progressBar.setVisibility(View.GONE);
}
}).launch();
4:Bugly
地址:https://bugly.qq.com/v2/
腾讯开发的用于查看异常上报和运营统计的工具。
代码:
compile 'com.tencent.bugly:crashreport:latest.release'
// 腾讯Bugly true为调试模式
CrashReport.initCrashReport(getApplicationContext(), "5e0063c2f2", false);
“5e0063c2f2”在Bugly官网注册应用后获得。
诚信工作室 供稿