Android studio ElasticDownloadView
找到个开源项目,地址:https://github.com/Tibolte/ElasticDownload
下载进度效果:
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvQW5kZHJvaWRfTGFuWWFu/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
builde.gradle:
compile 'com.github.tibolte:elasticdownload:1.0.+'
測试代码例如以下:BaseActivity.java
import android.app.Activity;
import android.content.pm.ActivityInfo;
import android.os.Bundle; import com.lidroid.xutils.ViewUtils; /**
* Created by LanYan on 2015/6/29.
*/
public abstract class BasicActivity extends Activity { @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
config();
setContentView(getLayoutID());
//Annotations view
ViewUtils.inject(this);
initView();
} /*
* The annotation of the control of the UI update
* Method is protected ,child activity super..
* */
protected void initView() {
} /*
* Config application theme style,such as no title bar, or status bar, transparent, etc
* Method is protected,child activity super ..
**/
protected void config() { } /*
* Build contentView id
* onCreate(Bundle saveInstanceState)>setContentView(R.layout.activity_main)
* R.layout.activity_main=getlayoutId();
* */
public abstract int getLayoutID(); @Override
protected void onResume() {
// TODO Auto-generated method stub
if (getRequestedOrientation() != ActivityInfo.SCREEN_ORIENTATION_PORTRAIT) {
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
}
super.onResume();
}
}
MainActivity.java
import android.view.View;
import android.view.Window;
import android.widget.Button; import com.lidroid.xutils.HttpUtils;
import com.lidroid.xutils.exception.HttpException;
import com.lidroid.xutils.http.ResponseInfo;
import com.lidroid.xutils.http.callback.RequestCallBack;
import com.lidroid.xutils.http.client.HttpRequest;
import com.lidroid.xutils.view.annotation.ViewInject;
import com.lidroid.xutils.view.annotation.event.OnClick; import java.io.File; import is.arontibo.library.ElasticDownloadView; /**
* Created by LanYan on 2015/6/29.
*/
public class MainActivity extends BasicActivity { @ViewInject(R.id.startDownload)
private Button startDownload; @ViewInject(R.id.elastic_download_view)
private ElasticDownloadView mDownloadView; @Override
protected void config() {
super.config();
requestWindowFeature(Window.FEATURE_NO_TITLE);
/* getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);*/
} @Override
public int getLayoutID() {
return R.layout.activity_main;
} @OnClick(R.id.startDownload)
public void onClick(View v) {
String url = "http://img0.bdstatic.com/img/image/6446027056db8afa73b23eaf953dadde1410240902.jpg";
String tagUrl="/sdcard/download/6446027056db8afa73b23eaf953dadde1410240902.jpg";
new HttpUtils().download( url,tagUrl, false, getListener()); } protected RequestCallBack<File> getListener() {
return new RequestCallBack<File>() { @Override
public void onStart() {
super.onStart();
mDownloadView.startIntro();
} @Override
public void onLoading(long total, long current, boolean isUploading) {
super.onLoading(total, current, isUploading);
mDownloadView.setProgress(current/total*100);
} @Override
public void onCancelled() {
super.onCancelled();
mDownloadView.fail();
} @Override
public void onSuccess(ResponseInfo<File> responseInfo) {
mDownloadView.success();
} @Override
public void onFailure(HttpException e, String s) {
mDownloadView.fail();
}
};
}
}
界面颜色配置參照Library value color:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="orange_salmon">#EC5745</color>
<color name="red_wine">#A6463A</color>
<color name="red_wood">#4B1D17</color>
<color name="green_grass">#109121</color>
</resources>
备注:该測试demo用android studio 开发的,假设须要转换成Eclipse project,须要下载相关依赖:
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvQW5kZHJvaWRfTGFuWWFu/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
同一时候要注意版本号要求:Android v2.2+。个别特效仅仅支持Api14+
demo下载地址:http://download.csdn.net/detail/anddroid_lanyan/8853065
Android studio ElasticDownloadView的更多相关文章
- Android Studio配置 AndroidAnnotations——Hi_博客 Android App 开发笔记
以前用Eclicps 用习惯了现在 想学学 用Android Studio 两天的钻研终于 在我电脑上装了一个Android Studio 并完成了AndroidAnnotations 的配置. An ...
- Android Studio 多个编译环境配置 多渠道打包 APK输出配置
看完这篇你学到什么: 熟悉gradle的构建配置 熟悉代码构建环境的目录结构,你知道的不仅仅是只有src/main 开发.生成环境等等环境可以任意切换打包 多渠道打包 APK输出文件配置 需求 一般我 ...
- Android Studio —— 重装 HAXM
Android Studio -- 重装 HAXM 版权声明:本文为博主原创文章,未经博主允许不得转载. 微博:厉圣杰 文中如有纰漏,欢迎大家留言指出. Android SDK 自带模拟器一直以慢.卡 ...
- android studio 使用 jni 编译 opencv 完整实例 之 图像边缘检测!从此在andrid中自由使用 图像匹配、识别、检测
目录: 1,过程感慨: 2,运行环境: 3,准备工作: 4,编译 .so 5,遇到的关键问题及其解决方法 6,实现效果截图. (原创:转载声明出处:http://www.cnblogs.com/lin ...
- 使用 Android Studio 检测内存泄漏与解决内存泄漏问题
本文在腾讯技术推文上 修改 发布. http://wetest.qq.com/lab/view/63.html?from=ads_test2_qqtips&sessionUserType=BF ...
- 【详细教程】论android studio中如何申请百度地图新版Key中SHA1值
一.写在前面 现在越来越多的API接口要求都要求提供我们的项目SHA1值,开发版目前还要求不高,但是发布版是必定要求的.而目前定位在各大APP中也较为常见,当下主流的百度地图和高德地图都在申请的时候会 ...
- 【走过巨坑】android studio对于jni调用及运行闪退无法加载库的问题解决方案
相信很多小伙伴都在android开发中遇到调用jni的各种巨坑,因为我们不得不在很多地方用到第三方库so文件,然而第三方官方通常都只会给出ADT环境下的集成方式,而谷歌亲儿子android studi ...
- android studio你可能忽视的细节——启动白屏?drawable和mipmap出现的意义?这里都有!!!
android studio用了很久了,也不知道各位小伙伴有没有还在用eclipse的,如果还有,楼主真心推荐转到android studio来吧,毕竟亲儿子,你会知道除了启动速度稍微慢些,你找不到一 ...
- 解决Android Studio 无法显示Layout视图问题
在Android Studio 当中,如果你选择的SDK的版本 与你所显示的视图版本不一致时,会出现这个错误 Exception raised during rendering:com/android ...
随机推荐
- 面向对象(类,实例变量,方法定义,方法重载,构造方法,this,string类)
面向对象 类是由属性和方法组成 类是所有创建对象的模板 实例变量有默认值 实例变量至少在本类范围中有效 实例变量与局部变量冲突时,局部变量优先 类中方法定义类似于函数定义 修饰符 返回值类型 方法名( ...
- HDOJ 1217 Floyed Template
解题思路:1.map简单应用2.Floyd算法的变形,之后判断dis[i][i],如果大于1,则存在利润! #include <iostream> #include <stdio.h ...
- VirtualBox虚拟机下Windows登录密码破解方法(阿里云推荐码:1WFZ0V,立享9折!)
VirtualBox虚拟机下Windows登录密码破解方法 近两年虚拟机的发展给开发人员带来了极大便利,安装一个新环境,只需从别人那里copy一份虚拟机文件即可,分分钟搞定.我之前一直在Ubuntu下 ...
- InputStream中read()与read(byte[] b)
原文:InputStream中read()与read(byte[] b) read()与read(byte[] b)这两个方法在抽象类InputStream中前者是作为抽象方法存在的,后者不是,JDK ...
- 基于visual Studio2013解决C语言竞赛题之0614递归大元素
题目 解决代码及点评 /************************************************************************/ /* 14. 编一个程 ...
- Java基础:多态(重载和重写)
转载请注明出处:jiq•钦's technical Blog (1)域与静态方法 记住"仅仅有普通方法的调用是多态的". 而域和静态方法不是:对于域的訪问.在编译期间就已经进行解析 ...
- Java学习笔记九(泛型)
1.介绍 所谓的泛型就是将类型作为一种參数来传递.有了泛型后类型不再是一成不变的.能够通过泛型參数来指定. 能够提供程序开发的灵活性. 2.泛型类或接口的使用 泛型类声明时.与普通类没有太大的差别,仅 ...
- Hadoop自定义Counter
1.通过enum自定义Counter public static num LOG_PROCESSOR_COUNTER { BAD_RECORDS }; 2.在Mapper或者Reducer中操作Cou ...
- Eclipse用法和技巧十六:自动添加未实现方法2
前面一篇文章里面介绍了一种常见的自动添加未实现函数的方法.这里在顺便补充几个方法.第一个方法,看上去有点怪怪的: 步骤一:Source > Clean Up: 步骤二:选择cust ...
- 跨服务器查询sql (摘要)
首先推荐一个神作:http://www.cnblogs.com/daniel206/archive/2008/01/16/1041748.html 大神比较详细了.而且条理很清晰. 然后摘录一些其他的 ...