当前位置: 首页 > news >正文

破解网站后台密码最佳搜索引擎磁力

破解网站后台密码,最佳搜索引擎磁力,英雄联盟怎么做直播网站,个人可以网站备案吗文章目录 一、进度条的属性和方法1.控件常用属性2.控件常用方法 二、系统提供的进度条1.圆形进度条用法:2.横线进度条用法 三、自定义进度条总结 一、进度条的属性和方法 1.控件常用属性 android:max:进度条的最大值 android:progress:进度…

文章目录

  • 一、进度条的属性和方法
    • 1.控件常用属性
    • 2.控件常用方法
  • 二、系统提供的进度条
    • 1.圆形进度条用法:
    • 2.横线进度条用法
  • 三、自定义进度条
  • 总结


一、进度条的属性和方法

1.控件常用属性

android:max:进度条的最大值
android:progress:进度条已完成进度值
android:progressDrawable:设置轨道对应的Drawable对象
android:indeterminate:如果设置成true,则进度条不精确显示进度
android:indeterminateDrawable:设置不显示进度的进度条的Drawable对象
android:indeterminateDuration:设置不精确显示进度的持续时间
android:secondaryProgress:二级进度条,类似于视频播放的一条是当前播放进度,一条是缓冲进度,前者通过progress属性进行设置!

2.控件常用方法

getMax():返回这个进度条的范围的上限
getProgress():返回进度
getSecondaryProgress():返回次要进度
incrementProgressBy(int diff):指定增加的进度
isIndeterminate():指示进度条是否在不确定模式下
setIndeterminate(boolean indeterminate):设置不确定模式下

二、系统提供的进度条

系统系统了四种进度条:分别是Small,Inverse,Large,Horizontal,前三种是圆形,最后一种是横线形,直接style引用即可
三种圆形的进度条无法显示进度

1.圆形进度条用法:

<ProgressBarstyle="@android:style/Widget.ProgressBar.Small"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_centerInParent="true" />

2.横线进度条用法

布局文件

<ProgressBarandroid:id="@+id/prog"style="@android:style/Widget.ProgressBar.Horizontal"android:layout_width="match_parent"android:layout_height="wrap_content"android:max="100"android:progress="0" />

java文件
下面的代码中,首先做了一个定时器模拟事务返回进度,每秒钟返回一次当前事务的进度,第二个定时器搭配hander每秒钟更新一次UI上显示的进度条
hander里面:
第一步获取以下当前进度条显示的进度,
第二步通过事务返回的进度计算在进度条上应该显示的进度,
第三步用应该显示的最新进度减去当前已经显示的进度获取当前进度条应该增加的进度
第四步调用进度条的incrementProgressBy方法更新进度条显示

public class MainActivity extends AppCompatActivity {ProgressBar prog;int a;     //事务执行的总进度int b = 0;     //事务执行的初始进度int c;     //进度条的总进度int h;      //进度条的当前进度Handler myHandler = new Handler() {@Overridepublic void handleMessage(Message msg) {if (msg.what == 111) {//获取进度条当前进度h = prog.getProgress();//计算当前实际进度double e = (double) b / a;double f = c * e;int g = (int) f;//计算要增加的进度int m = g - h;prog.incrementProgressBy(m);    //增加进度显示}}};@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);prog = (ProgressBar) findViewById(R.id.prog);c = prog.getMax();//执行事务,每秒钟返回一次事务执行进度new Timer().schedule(new TimerTask() {@Overridepublic void run() {a = 500;b++;if (b > a) {cancel();}}}, 0, 1000);//每秒钟将事务返回的进度值通过hander更新到UI显示中new Timer().schedule(new TimerTask() {@Overridepublic void run() {if (b > a) {cancel();}else{//定时循环执行的内容myHandler.sendEmptyMessage(111);}}}, 0, 1000);}

三、自定义进度条

自定义一个类继承View绘制圆形进度条,然后引用,下面的代码可直接复制使用,代码中我暴露出了五个参数可以在使用时修改,java中调用先使用setmTargetProgress()方法修改进度值,然后调用invalidate()重新绘制view即可。

CustomPgBar.java

public class CustomPgBar extends View {private Paint mBackPaint;private Paint mFrontPaint;private Paint mTextPaint;private RectF mRect;private int mProgress = 0;private int mWidth;private int mHeight;private int mMax = 100;         //总进度值//以下五个参数已暴露出去,使用时可修改private int mTargetProgress = 0;    //进度值private float mRadius = 200;    //圆形大小private int mTextPaintColor = Color.GREEN;  //绘制文本字体颜色private int mFrontPaintColor = Color.GREEN; //绘制进度颜色private int mBackPaintColor = Color.BLUE;   //绘制总进度颜色private float pTextSize = (float) (mRadius * 0.6);     //绘制文本字体大小private float mStrokeWidth = (float) (mRadius * 0.25);    //进度粗细private float mHalfStrokeWidth = mStrokeWidth / 2;public CustomPgBar(Context context) {super(context);init();}public CustomPgBar(Context context, AttributeSet attrs) {super(context, attrs);init();}public CustomPgBar(Context context, AttributeSet attrs, int defStyleAttr) {super(context, attrs, defStyleAttr);init();}//完成相关参数初始化private void init() {//总进度画笔mBackPaint = new Paint();mBackPaint.setColor(getmBackPaintColor());mBackPaint.setAntiAlias(true);mBackPaint.setStyle(Paint.Style.STROKE);mBackPaint.setStrokeWidth(mStrokeWidth);//进度画笔mFrontPaint = new Paint();mFrontPaint.setColor(getmFrontPaintColor());mFrontPaint.setAntiAlias(true);mFrontPaint.setStyle(Paint.Style.STROKE);mFrontPaint.setStrokeWidth(mStrokeWidth);//文本画笔mTextPaint = new Paint();mTextPaint.setColor(getmTextPaintColor());mTextPaint.setAntiAlias(true);mTextPaint.setTextSize(pTextSize);mTextPaint.setTextAlign(Paint.Align.CENTER);}//重写测量大小的onMeasure方法和绘制View的核心方法onDraw()@Overrideprotected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {super.onMeasure(widthMeasureSpec, heightMeasureSpec);mWidth = getRealSize(widthMeasureSpec);mHeight = getRealSize(heightMeasureSpec);setMeasuredDimension(mWidth, mHeight);}@Overrideprotected void onDraw(Canvas canvas) {initRect();float angle = mProgress / (float) mMax * 360;canvas.drawCircle(mWidth / 2, mHeight / 2, getmRadius(), mBackPaint);canvas.drawArc(mRect, -90, angle, false, mFrontPaint);canvas.drawText(mProgress + "%", mWidth / 2 + mHalfStrokeWidth, mHeight / 2 + mHalfStrokeWidth, mTextPaint);if (mProgress < getmTargetProgress()) {mProgress += 1;invalidate();}}public int getRealSize(int measureSpec) {int result = 1;int mode = MeasureSpec.getMode(measureSpec);int size = MeasureSpec.getSize(measureSpec);if (mode == MeasureSpec.AT_MOST || mode == MeasureSpec.UNSPECIFIED) {//自己计算result = (int) (getmRadius() * 2 + mStrokeWidth);} else {result = size;}return result;}private void initRect() {if (mRect == null) {mRect = new RectF();int viewSize = (int) (getmRadius() * 2);int left = (mWidth - viewSize) / 2;int top = (mHeight - viewSize) / 2;int right = left + viewSize;int bottom = top + viewSize;mRect.set(left, top, right, bottom);}}public int getmTargetProgress() {return mTargetProgress;}public void setmTargetProgress(int mTargetProgress) {this.mTargetProgress = mTargetProgress;}public float getmRadius() {return mRadius;}public void setmRadius(float mRadius) {if (mRadius != 0) {this.mRadius = mRadius;}}public int getmTextPaintColor() {return mTextPaintColor;}public void setmTextPaintColor(int mTextPaintColor) {if (mTextPaintColor != 0) {this.mTextPaintColor = mTextPaintColor;}}public int getmFrontPaintColor() {return mFrontPaintColor;}public void setmFrontPaintColor(int mFrontPaintColor) {if (mFrontPaintColor != 0) {this.mFrontPaintColor = mFrontPaintColor;}}public int getmBackPaintColor() {return mBackPaintColor;}public void setmBackPaintColor(int mBackPaintColor) {if (mBackPaintColor != 0) {this.mBackPaintColor = mBackPaintColor;}}public int getmMax() {return mMax;}}

activity_main.xml引用

    <RelativeLayoutandroid:layout_width="match_parent"android:layout_height="match_parent"android:layout_weight="1"><com.example.progressbardemo.CustomPgBarandroid:id="@+id/cusbar"android:layout_width="match_parent"android:layout_height="match_parent" /></RelativeLayout>

MainActivity.java

public class MainActivity extends AppCompatActivity {CustomPgBar cusbar;int a;     //事务执行的总进度int b = 0;     //事务执行的初始进度int c;     //进度条的总进度Handler myHandler = new Handler() {@Overridepublic void handleMessage(Message msg) {if (msg.what == 111) {//计算当前实际进度double e = (double) b / a;double f = c * e;int g = (int) f;cusbar.setmTargetProgress(g);   //修改进度值cusbar.invalidate();    //重新绘制viwe}}};@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);cusbar = (CustomPgBar) findViewById(R.id.cusbar);c = cusbar.getmMax();//执行事务,每秒钟返回一次事务执行进度new Timer().schedule(new TimerTask() {@Overridepublic void run() {a = 200;b++;if (b >= a) {cancel();}}}, 0, 1000);//每秒钟将事务返回的进度值通过hander更新到UI显示中new Timer().schedule(new TimerTask() {@Overridepublic void run() {if (b > a) {cancel();} else {//定时循环执行的内容myHandler.sendEmptyMessage(111);}}}, 0, 1000);}
}

总结

以上就是今天要讲的内容。

http://www.zhongyajixie.com/news/63734.html

相关文章:

  • 随州网站建设网上销售渠道
  • 国办政府网站建设规范引流推广方案
  • 深圳市珠宝网站建设网络平台推广有哪些渠道
  • 做的好的微信商城网站百度软件应用中心
  • 做网站客户ip营销的概念
  • 张家港网站设计建设百度一下你就知道官网首页
  • 私人网站设计公司公司谷歌搜索引擎为什么打不开
  • 品牌全案设计包括什么长沙seo外包
  • 用网站免费模板做网站要会什么建设网站的步骤
  • php手机网站如何制作教程宁波seo推广优化
  • 电子商务网站设计代做营销推广策划方案范文
  • 公司建的是网页还是网站百度登录
  • 网络安全公司排名前十名上海seo优化培训机构
  • 济南网站建设公司排名友情链接平台网站
  • 西安高端网站制作微博推广有用吗
  • 网站首页页面友情链接交易
  • ps做网站 字体多大百度首页排名代发
  • 做淘宝网站代理网站开发需要哪些技术
  • 空间设计网站公司小米的推广软文
  • 建设通网站怎么样发帖推广哪个平台好
  • 中国建设银行支付网站淘宝运营培训机构
  • 怎样将自己做的网站给别人看百度网站官网网址
  • 哪个网站可以免费做国外流量推广怎么做
  • 中文外贸网站有哪些朝阳区seo搜索引擎优化怎么样
  • 安庆做网站赌博代理宁德seo培训
  • 数据网站建设南京怎样优化关键词排名
  • 做网站后台都要自己写吗超级搜索引擎
  • 河源网站建设多少钱爱站网站长seo综合查询
  • 加盟网站建设案例欣赏百度账号登录个人中心
  • 宾馆做网站南宁百度推广代理公司