以前网上有位虾士发过一篇文章是关于竖着的seekbar,但是也没有确定是否可行.最近看了vlc的音效处理.就是用到竖着的seekbar,所以分享下代码:
也可以自己查看它的源码:

import android.content.Context;import android.graphics.Canvas;import android.util.AttributeSet;import android.view.MotionEvent;import android.widget.SeekBar;public class VerticalSeekBar extends SeekBar {    public VerticalSeekBar(Context context) {        super(context);    }    public VerticalSeekBar(Context context, AttributeSet attrs, int defStyle) {        super(context, attrs, defStyle);    }    public VerticalSeekBar(Context context, AttributeSet attrs) {        super(context, attrs);    }//这是一个重点,高宽倒置    protected void onSizeChanged(int w, int h, int oldw, int oldh) {        super.onSizeChanged(h, w, oldh, oldw);    }//这是一个重点,高宽倒置    @Override    protected synchronized void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {        super.onMeasure(heightMeasureSpec, widthMeasureSpec);        setMeasuredDimension(getMeasuredHeight(), getMeasuredWidth());    }//这是一个重点    protected void onDraw(Canvas c) {        c.rotate(-90);        c.translate(-getHeight(), 0);        super.onDraw(c);    }//这是一个重点,高宽倒置    @Override    public synchronized void setProgress(int progress) {        super.setProgress(progress);        onSizeChanged(getWidth(), getHeight(), 0, 0);    }    @Override    public boolean onTouchEvent(MotionEvent event) {        if (!isEnabled()) {            return false;        }        switch (event.getAction()) {            case MotionEvent.ACTION_DOWN:            case MotionEvent.ACTION_MOVE:            case MotionEvent.ACTION_UP:                setProgress(getMax() - (int) (getMax() * event.getY() / getHeight()));                onSizeChanged(getWidth(), getHeight(), 0, 0);                break;            case MotionEvent.ACTION_CANCEL:                break;        }        return true;    }没有重点了,直接使用吧.

更多相关文章

  1. Android获取WIFI的BSSID遇到的坑(已解决)
  2. android handler,looper,messageQueue重点记录
  3. android 编写简易视频播放器
  4. [Android]读写fb0测试
  5. 基于Android10的Activity的启动流程简析
  6. Android(安卓)HOME键那些事
  7. Android自定义控件 之 轮播图(ViewPager)重点及学习
  8. Android------Button 添加声音效果(两种方式)
  9. android 数字进度条--NumberProgressBar

随机推荐

  1. Android图片压缩——Luban鲁班压缩
  2. android dpi dp 和px之间的关系
  3. android 使用SharedPreferences保存list
  4. android的sd卡上创建目录不显示
  5. Android(安卓)积累一些RxJava2.0有关的知
  6. android常见问题记录(03.13update)
  7. android 控件
  8. 给Android(安卓)JellyBean添加internal r
  9. 使用 adb 命令向 Android(安卓)发送广播
  10. 如何实现Siri中的波纹动画