Android 下载进度条, 自定义加载进度条,loading动画
生活随笔
收集整理的這篇文章主要介紹了
Android 下载进度条, 自定义加载进度条,loading动画
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1、自定義loadingline動畫
/*** 作者:created by meixi* 郵箱:13164716840@163.com* 日期:2018/9/6 10*/public class LoadingLine extends View {private Paint paint;private Paint backPaint;private Paint textPaint;private boolean init = false;private ValueAnimator valueAnimator;private float param = 0;private int length = 0;public LoadingLine(Context context) {super(context);init();}public LoadingLine(Context context, AttributeSet attrs) {super(context, attrs);init();}private void init() {paint = new Paint();paint.setColor(Color.BLUE);paint.setStrokeWidth(25);backPaint = new Paint();backPaint.setColor(Color.RED);backPaint.setStrokeWidth(25);textPaint = new Paint();textPaint.setColor(Color.WHITE);textPaint.setTextSize(10);}@Overrideprotected void onDraw(Canvas canvas) {super.onDraw(canvas);if (!init) { // start();init = true;}int width = getWidth();int height = getHeight();canvas.drawLine(0, height / 2, width, height / 2, backPaint);canvas.drawLine(0, height / 2, length * width / 100, height / 2, paint);if (length<100){canvas.drawText(length + "", length * width / 100 - 22, height / 2 + 6, textPaint);}else {canvas.drawText(length + "", length * width / 100 - 42, height / 2 + 6, textPaint);} // if (valueAnimator.isRunning()) { // param = (float) valueAnimator.getAnimatedValue(); // setLength((int) param); // }}/*** 也可在外部手動控制進度條,自行關閉valueAnimator** @param param*/public void setLength(int param) {this.length = param;invalidate();}private void start() {if (valueAnimator == null) {valueAnimator = ValueAnimator.ofFloat(0, 100);valueAnimator.setInterpolator(new LinearInterpolator());valueAnimator.setDuration(6000);valueAnimator.start();} else {valueAnimator.start();}postDelayed(new Runnable() {@Overridepublic void run() { // start();invalidate();}}, valueAnimator.getDuration());invalidate();}}?
2、activity調用
布局文件
<com.administrator.tests.LoadingLineandroid:id="@+id/myloadline"android:layout_width="match_parent"android:layout_height="5dp" />初始化
private boolean running;private LoadingLine loadingLine;int i = 0;static final int REFRESH_COMPLETE = 0X1112;private Handler mHandler = new Handler() {public void handleMessage(android.os.Message msg) {switch (msg.what) {case REFRESH_COMPLETE:if (i==100){running=false;}Log.i("lgq","...===="+i);loadingLine.setLength(i++);//主要加載進度方法 //todo...break;}}};線程加載進度
loadingLine =(LoadingLine)findViewById(R.id.myloadline);new Thread() {@Overridepublic void run() {super.run();running = true;while (running) {mHandler.sendEmptyMessageDelayed(REFRESH_COMPLETE, 0);try {sleep(100);} catch (InterruptedException e) {e.printStackTrace();}}} }.start();添加圓弧框
<RelativeLayoutandroid:id="@+id/loadre"android:layout_width="280pt"android:layout_height="90pt"android:layout_marginTop="50pt"android:visibility="gone"android:layout_alignParentRight="true"><cn.dlc.bangbang.electricbicycle.util.views.LoadingLineandroid:id="@+id/myloadline2"android:layout_width="match_parent"android:layout_marginLeft="8pt"android:layout_marginRight="18pt"android:layout_centerVertical="true"android:layout_height="wrap_content"></cn.dlc.bangbang.electricbicycle.util.views.LoadingLine><LinearLayoutandroid:layout_width="match_parent"android:layout_height="45pt"android:layout_centerVertical="true"android:layout_marginRight="10pt"android:background="@drawable/load_topbg"></LinearLayout><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="下載中"android:textColor="@color/colorPrimary"android:textSize="@dimen/size_12pt"android:layout_alignParentBottom="true"android:layout_marginRight="10pt"android:layout_centerHorizontal="true"></TextView></RelativeLayout> <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android"><solid android:color="@color/transparent" /><corners android:radius="30dp" /><strokeandroid:width="8pt"android:color="@color/color_DDD" /><paddingandroid:bottom="0dp"android:left="0dp"android:right="0dp"android:top="0dp" /></shape>?
總結
以上是生活随笔為你收集整理的Android 下载进度条, 自定义加载进度条,loading动画的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: AutoCAD2012官方原版软件下载
- 下一篇: ajax post 请求415\ 400