Android studio ElasticDownloadView

找到个开源项目,地址:https://github.com/Tibolte/ElasticDownload

下载进度效果:

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 {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);config();setContentView(getLayoutID());//Annotations viewViewUtils.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();@Overrideprotected void onResume() {// TODO Auto-generated method stubif (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;@Overrideprotected void config() {super.config();requestWindowFeature(Window.FEATURE_NO_TITLE);/* getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);*/}@Overridepublic int getLayoutID() {return R.layout.activity_main;}@OnClick(R.id.startDownload)public void onClick(View v) {String url = "";String tagUrl="/sdcard/download/6446027056db8afa73b23eaf953dadde1410240902.jpg";new HttpUtils().download( url,tagUrl, false, getListener());}protected RequestCallBack<File> getListener() {return new RequestCallBack<File>() {@Overridepublic void onStart() {super.onStart();mDownloadView.startIntro();}@Overridepublic void onLoading(long total, long current, boolean isUploading) {super.onLoading(total, current, isUploading);mDownloadView.setProgress(current/total*100);}@Overridepublic void onCancelled() {super.onCancelled();mDownloadView.fail();}@Overridepublic void onSuccess(ResponseInfo<File> responseInfo) {mDownloadView.success();}@Overridepublic 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,需要下载相关依赖:

同时要注意版本要求:Android v2.2+,个别特效只支持Api14+

demo下载地址:

版权声明:本文为博主原创文章,未经博主允许不得转载。

在旅途中,我遇见了你,你我相识是缘分!看着你手中的戒指,

Android studio ElasticDownloadView

相关文章:

你感兴趣的文章:

标签云: