因为项目中有遇到进度的一个需求,目前类似的在实现网络进度加载和流量用量上比较多,所有今天就把代码贴出来,希望有需要的朋友能够有用到。
1.首先是主页面
package com.zhanglu.percentageball;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
/**
*
* 项目名称:PercentageBall 类名称:MainActivity 类描述: 主页面 创建人:zhanglu 创建时间:2016-6-1 上午9:04:46 修改人:zhanglu 修改时间:2016-6-1 上午9:04:46 修改备注:
*
* @version
*
*/
public class MainActivity extends Activity implements OnClickListener {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
findViewById(R.id.button1).setOnClickListener(this);
findViewById(R.id.button2).setOnClickListener(this);
findViewById(R.id.button3).setOnClickListener(this);
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.button1:
startActivity(new Intent(this, PercentageBallActivty.class));
break;
case R.id.button2:
startActivity(new Intent(this, PercentageBallListviewActivty.class));
break;
case R.id.button3:
startActivity(new Intent(this, PercentageBallWaveActivty.class));
break;
default:
break;
}
}
}
2.下面是静止页面的代码
package com.zhanglu.percentageball;
import com.zhanglu.percentageball.view.PercentageBallView;
import android.app.Activity;
import android.os.Bundle;
/**
*
* 项目名称:PercentageBall
* 类名称:PercentageBallActivty
* 类描述: 动态波浪球
* 创建人:zhanglu
* 创建时间:2016-6-1 上午9:30:53
* 修改人:zhanglu
* 修改时间:2016-6-1 上午9:30:53
* 修改备注:
* @version
*
*/
public class PercentageBallActivty extends Activity {
private PercentageBallView pv;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.percentage_ball_activty);
pv = (PercentageBallView) findViewById(R.id.ball);
pv.setmWaterLevel(0.5f, "10/5");
pv.startWave();// 开始执行
}
}
下面是实现波浪球的效果代码
package com.zhanglu.percentageball.view;
import android.annotation.TargetApi;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Path;
import android.graphics.RectF;
import android.os.Build;
import android.os.Handler;
import android.os.Parcel;
import android.os.Parcelable;
import android.util.AttributeSet;
import android.view.View;
import android.widget.ProgressBar;
import com.zhanglu.percentageball.R;
/**
*
* 项目名称:PercentageBall
* 类名称:PercentageBallView
* 类描述: 实现效果类
* 创建人:zhanglu
* 创建时间:2016-6-1 上午11:20:17
* 修改人:zhanglu
* 修改时间:2016-6-1 上午11:20:17
* 修改备注:
* @version
*
*/
@TargetApi(Build.VERSION_CODES.HONEYCOMB)
public class PercentageBallView extends View {
private Context mContext;
private in