自定义View动画圆形进度跳转

下面写一个简单版的动画加载百分比跳转
我发的这个是个简单版的,配置文件什么的都已经配完,都在依赖里面,你们只需要把这个依赖倒进去就可以调用了

1.先把依赖导进去

//圆形进度条
 implementation 'com.czp.arcProgressBar:ArcProgressBar:1.0.1'

2.布局

<LinearLayout
    android:orientation="vertical"
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".ui.activity.MainActivity">

    <com.czp.library.ArcProgress
        android:layout_marginTop="50dp"
        android:id="@+id/myprogreen"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center" />

</LinearLayout>

3.这是主页面的效果

import android.content.Intent;
import android.graphics.Color;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.os.SystemClock;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.TextView;
import android.widget.Toast;

import com.czp.library.ArcProgress;
import com.czp.library.OnTextCenter;

import butterknife.ButterKnife;
import gsp.com.progreen.R;

public class MainActivity extends AppCompatActivity {

//handler
    private Handler handler = new Handler(new Handler.Callback() {
        @Override
        public boolean handleMessage(Message msg) {
            ArcProgress obj = (ArcProgress) msg.obj;
            obj.setProgress(msg.what);
            return true;
        }
    });

    private ArcProgress myprogreen1;
    private TextView text;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        ButterKnife.bind(this);

        myprogreen1 = findViewById(R.id.myprogreen);
        text = findViewById(R.id.text);
        myprogreen1.setOnCenterDraw(new OnTextCenter(Color.RED, 20));

        new Thread(new Runnable() {
            @Override
            public void run() {
                //for判断
                for (int i = 0; i < 101; i++) {
                    //判断结束
                    /* */
                    //判断结束
                    if (isFinishing()) {

                        break;
                    }
                    //系统时钟 睡 100 毫秒
                    SystemClock.sleep(100);
                    handler.sendMessage(handler.obtainMessage(i, myprogreen1));
                    if (i ==100){
                        //跳转
                        startActivity(new Intent(MainActivity.this, TwoActivity.class));
                        finish();
                    }
                }

            }
        }).start();
    }
}

下面我把效果图给大家发出来,当到达100的时候跳转页面,写的不好还望多多见谅,还望大神能多多指点一下
在这里插入图片描述

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_43053718/article/details/85927464