SeekBar/ProgressBar自定义和使用

SeekBar 的父类是ProgressBar。

--  自定义圆形进度条
Android高手进阶之自定义View,自定义属性(带进度的圆形进度条)- http://download.csdn.net/detail/xiaanming/6008579

三种方式实现自定义圆形页面加载中效果的进度条 - https://yq.aliyun.com/articles/4346

android利用shap画小圆圈(空心圆、实心圆)- http://blog.csdn.net/l506945024/article/details/52587112

自定义View(自定义圆形效果)- http://www.jianshu.com/p/f54a928878ca

SpringBar 实现拖拽效果的圆形滑动块 该类修改于https://github.com/chenupt/SpringIndicator

progressbar设置默认背景色和进度条的颜色(支持渐变色)-https://zhidao.baidu.com/question/558832527.html

> 自定义竖向/横向SeekBar 
自定义竖向SeekBar ,横向SeekBar 样式- http://blog.csdn.NET/legend12300/article/details/53488958
Android 打造变化多端的SeekBar(垂直和水平)- http://blog.csdn.net/qq_16064871/article/details/50753777
android实现垂直seekbar- https://m.aliyun.com/yunqi/wenji/67014

Android中自定义SeekBar背景颜色,进度条颜色,滑块图片- http://blog.csdn.net/wzy_1988/article/details/49473725

android:progressDrawable="@drawable/bg_bar" android:thumb="@drawable/shape_seekbar_thumb"
SeekBar的高度及thumb圆点显示不完全- http://blog.csdn.net/w752325717/article/details/74549810
android:layout_gravity="center_vertical" android:maxHeight="5px" //通过min、max来设置SeekBar长条的粗细

1. 禁止seekbar的拖动事件
public class MySeekBar extends SeekBar {

        public MySeekBar(Context context) {
                super(context);
                // TODO Auto-generated constructor stub
        }

        public MySeekBar(Context context, AttributeSet attrs) {
                this(context, attrs, android.R.attr.seekBarStyle);
        }

        public MySeekBar(Context context, AttributeSet attrs, int defStyle) {
                super(context, attrs, defStyle);
        }
        /**
         * onTouchEvent 是在 SeekBar 继承的抽象类 AbsSeekBar 里
         * 你可以看下他们的继承关系
         */
        @Override
        public boolean onTouchEvent(MotionEvent event) {
                // TODO Auto-generated method stub
                //原来是要将TouchEvent传递下去的,我们不让它传递下去就行了
                //return super.onTouchEvent(event);
                
                return false ;
        } 

}

2. Android SeekBar 禁止拖动和点击的实现(可能是最简单完美的实现),需求是不能拖动进度条,让音频自然播放。 
SeekBar sb_play;
sb_play.setOnTouchListener(new View.OnTouchListener() {
            @Override
            public boolean onTouch(View v, MotionEvent event) {
                Log.d("ACETEST", "监听");
                return true;
            }

        });

 

3. 自定义SeekBar只能滑动,禁止点击响应
public class MySeekBar extends SeekBar {  
  
    private Context context;  
    private  int oldsign;  
      
    public MySeekBar(Context context) {  
        super(context);  
        this.context = context;  
        init();  
    }  
  
    public MySeekBar(Context context, AttributeSet attrs, int defStyle) {  
        super(context, attrs, defStyle);  
        this.context = context;  
        init();  
    }  
  
    public MySeekBar(Context context, AttributeSet attrs) {  
        super(context, attrs);  
        this.context = context;  
        init();  
    }  
  
    private void init() {  
        setOnSeekBarChangeListener(new OnSeekBarChangeListener(){  
            @Override  
            public void onProgressChanged(SeekBar seekBar, int progress,  
                    boolean fromUser) {  
                // TODO 自动生成的方法存根  
                if(progress>oldsign+3||progress<oldsign-3){  
                    seekBar.setProgress(oldsign);  
                    return;  
                }  
                seekBar.setProgress(progress);  
                oldsign = progress;       
            }  
            @Override  
            public void onStartTrackingTouch(SeekBar seekBar) {  
                // TODO 自动生成的方法存根  
                seekBar.setProgress(oldsign);  
            }  
            @Override  
            public void onStopTrackingTouch(SeekBar seekBar) {  
                // TODO 自动生成的方法存根    
            }        
        });  
    }  

> ProgressBar

-- progressBar转圈  Android?
圆形进度条PercentProgressBar- https://github.com/natasam/Demo-PercentProgressBar
Android 带百分比数字的水平、圆形进度条- https://github.com/bingoogolapple/BGAProgressBar-Android
动态移动显示百分比进度的进度条- https://github.com/daimajia/NumberProgressBar 

-- android的ProgressBar的setIndeterminate(false);这个是干嘛的?

    不明确(false)就是滚动条的当前值自动在最小到最大值之间来回移动,形成这样一个动画效果,这个只是告诉别人“我正在工作”,但不能提示工作进度到哪个阶段。主要是在进行一些无法确定操作时间的任务时作为提示。而“明确”(true)就是根据你的进度可以设置现在的进度值。
ProgressBar的indeterminateDrawable属性在安卓6.0上的问题- http://blog.csdn.net/baiyuliang2013/article/details/50767034
<ProgressBar
  android:indeterminateBehavior="repeat"
  android:indeterminateOnly="true"
            android:id="@+id/loading_circle_progressBar"
            android:layout_width="25dp"
            android:layout_height="25dp"
            android:layout_centerInParent="true"
            android:indeterminate="false"
            android:indeterminateDrawable="@drawable/circle_progress"
            android:visibility="visible" />

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值