日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android 下载进度条, 自定义加载进度条,loading动画

發(fā)布時間:2023/12/10 Android 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android 下载进度条, 自定义加载进度条,loading动画 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

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动画的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。