ProgressBar进度条两端圆角

在Android功能开发的时候,很多时候会遇到进度条(progressBar)两端需要圆角(显示的进度也需要圆角)的需求,然而在自定义进度条样式的时候,若没找到正确的方法会让人很纠结;

先看结果

ProgressBar进度条两端圆角_第1张图片
进度条样式示例图


原因

很多时候实现都是会用clip,然后被clip切成了直角,浪费再多的时间还是直角,所以需要放弃clip,换成使用scale方式实现;

实现方式

  1. 新建drawable文件:progress_scale.xml


    
        
            
            
        
    

    
        
            
                
                
            
        
    

    
        
            
                
                
            
        
    

  1. 自定义style:ProgressBar_Scale
    
  1. 使用到布局文件中(各种类型的layout中)
    
  1. 细节注意点
    进度条要做到半圆的圆角程度,就得考虑布局文件中ProgressBar的高度android:layout_height和drawable文件中cornersandroid:radius两者属性的值;保证radius的值大于layout_height的二分之一: radius * 2 >= layout_height

实现方式2

其实如果能让UE提供进度条的背景和进度的图片,再做成.9图,也一样能实现;
具体可以参考该链接,最终使用图片实现,同时也重申了clip实现被切成直角的问题;

你可能感兴趣的:(ProgressBar进度条两端圆角)