鸿蒙学习-ProgressBar,RoundProgressBar

ProgressBar进度条控件,用于显示内容或操作的进度。

常用方法

ProgressBar progressBar = (ProgressBar) findComponentById(ResourceTable.Id_pb);

//设置最大值

        progressBar.setMaxValue(100);

//设置最小值

        progressBar.setMinValue(0);

//设置当前进度

        progressBar.setProgressValue(25);

//设置当前父进度

        progressBar.setViceProgress(50);

//设置提示文字的大小

        progressBar.setProgressHintTextSize(50);

//设置提示文字的位置,通过TextAlignment设置,可设置多个

progressBar.setProgressHintTextAlignment(TextAlignment.TOP|TextAlignment.HORIZONTAL_CENTER);

//设置提示文字的颜色

        progressBar.setProgressHintTextColor(Color.RED);

//设置提示文字

        progressBar.setProgressHintText(progressBar.getProgress()+"%");

        ShapeElement element=new ShapeElement();

        element.setRgbColor(new RgbColor(18,52,86));

//设置主进度条样式,传入一个Element

        progressBar.setProgressElement(element);

//设置副进度条样式,传入一个Element

        progressBar.setViceProgressElement();

//设置进度条背景样式,传入一个Element

progressBar.setInfiniteModeElement();


效果图:

不确定模式:不知道当前进度,一直进行加载中动画

infinite:是否使用不确定模式,传入boolean类型

infinite_element:不确定模式图样,配置前提:infinite需设置为true,仅可引用media/graphic下的图片资源。



RoundProgressBar继承自ProgressBar,用于显示环形进度。

//设置最大角度

progressBar.setMaxAngle(270);

//设置开始角度

progressBar.setStartAngle(45);


代码示例

//RoundProgressBar目前只支持使用代码的形式修改二级进度

RoundProgressBar progressBar =new RoundProgressBar(this);

progressBar.setProgressColor(Color.RED);

progressBar.setWidth(200);

progressBar.setHeight(200);

ShapeElement element =new ShapeElement();

element.setShape(ShapeElement.ARC);

element.setRgbColor(RgbColor.fromArgbInt(Color.TRANSPARENT.getValue()));

element.setStroke(progressBar.getProgressWidth(), RgbColor.fromArgbInt(Color.YELLOW.getValue()));

progressBar.setViceProgressElement(element);

ShapeElement grey =new ShapeElement();

grey.setShape(ShapeElement.ARC);

grey.setRgbColor(RgbColor.fromArgbInt(Color.TRANSPARENT.getValue()));

grey.setStroke(progressBar.getProgressWidth(), RgbColor.fromArgbInt(Color.GRAY.getValue()));

progressBar.setProgressBackgroundElement(grey);

progressBar.setMaxValue(100);

progressBar.setMinValue(0);

progressBar.setProgressValue(50);

progressBar.setViceProgress(75);


效果图:


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 今天感恩节哎,感谢一直在我身边的亲朋好友。感恩相遇!感恩不离不弃。 中午开了第一次的党会,身份的转变要...
    迷月闪星情阅读 10,615评论 0 11
  • 彩排完,天已黑
    刘凯书法阅读 4,277评论 1 3
  • 没事就多看看书,因为腹有诗书气自华,读书万卷始通神。没事就多出去旅游,别因为没钱而找借口,因为只要你省吃俭用,来...
    向阳之心阅读 4,820评论 3 11
  • 表情是什么,我认为表情就是表现出来的情绪。表情可以传达很多信息。高兴了当然就笑了,难过就哭了。两者是相互影响密不可...
    Persistenc_6aea阅读 126,098评论 2 7