【android seekbar 增大拖动区域】

//seekbarLayout 是seekBar对象statusSeekbar的父层布局
seekbarLayout = mStatusViewLayout.findViewById(R.id.id_seekbar_layout);
seekbarLayout.setOnTouchListener(new View.OnTouchListener() {
    @Override
    public boolean onTouch(View v, MotionEvent event) {
        Rect seekRect = new Rect();
        statusSeekbar.getHitRect(seekRect);
        if ((event.getY() >= (seekRect.top - 500)) && (event.getY() <= (seekRect.bottom + 500))) {
            float y = seekRect.top + seekRect.height() / 2;
            //seekBar only accept relative x
            float x = event.getX() - seekRect.left;
            if (x < 0) {
                x = 0;
            } else if (x > seekRect.width()) {
                x = seekRect.width();
            }
            MotionEvent me = MotionEvent.obtain(event.getDownTime(), event.getEventTime(),
                    event.getAction(), x, y, event.getMetaState());
            return statusSeekbar.onTouchEvent(me);
        }
        return false;
    }
});

原理:给一个大一点面积的View 获取触摸事件,直接手动调用seekbar onTouchEvent.

原文地址:https://www.cnblogs.com/mamamia/p/12611457.html

时间: 2024-10-27 14:24:00

【android seekbar 增大拖动区域】的相关文章

Android 自学之拖动条SeekBar

拖动条(SeekBar)和进度条非常相似,只是进度条采用颜色填充来表明进度完成的程度,而拖动条则通过滑块的位置来标识数值----而且拖动条允许用户拖动滑动块来改变值,因此拖动条通常用于对系统的某种数值进行调节,比如音量调节. SeekBar允许用户改变拖动条的滑块外观,改变滑块外观通过如下属性来指定 android:thumb  指定一个Drawable对象,该对象将作为自定义滑块. 为了让程序能响应拖动条滑块位置的改变,程序可以考虑为他绑定一个OnSeekBarChangerListener监

Android Zxing调整扫描区域 优化取图速度

Zxing 是google提供的二维码扫描project Demo本身默认的扫图区域最大仅仅有 360*480    须要拉开非常远的距离才干将整个二维码扫描到 因此须要我们自己调整取图大小 在CameraManager.java这个类中进行调整 默认的大小是 下面这4个參数 // private static final int MIN_FRAME_WIDTH = 240; // private static final int MIN_FRAME_HEIGHT = 240; // priva

从零开始学android&lt;SeekBar滑动组件.二十二.&gt;

拖动条可以由用户自己进行手工的调节,例如:当用户需要调整播放器音量或者是电影的播放进度时都会使用到拖动条,SeekBar类的定义结构如下所示: java.lang.Object ? android.view.View ? android.widget.ProgressBar ? android.widget.AbsSeekBar ? android.widget.SeekBar 常用方法 public SeekBar(Context context) 构造 创建SeekBar类的对象 publi

android Seekbar 拖动按钮显示不全问题

增加下面属性即可解决: android:thumbOffset="0dip" <SeekBar android:id="@+id/controller_progress_seekbar" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:maxHeight=

Android SeekBar 和 draw9patch 的使用

今天要使用一个SeekBar控件,其实我觉得Android默认样式已经很不错了,无奈设计不同意,而且SeekBar左右两边也有图片,默认样式和图片也确实不协调,因此这里使用图片自定义SeekBar样式,首先上代码: <SeekBar android:layout_width="match_parent" android:layout_height="wrap_content" android:max="100" android:thumbO

Android SeekBar自定义使用图片和颜色显示

      1.在res/drawable目录下新增一个xml风格文件,seekbar_define_style.xml <?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <!-- 未选中 --> <item android:id=&q

Android SeekBar实现音量调节

SeekBar可以通过滑块的位置来标识数值----而且拖动条允许用户拖动滑块来改变值,因此拖动条通常用于对系统的某种数值进行调节,比如调节音量等. SeekBar允许用户改变拖动条的滑块外观,改变滑块外观通常通过如下属性来指定:android:thumb: 指定一个Drawable对象,该对象将自定义滑块. 为了让程序能响应拖动条滑块位置的改变,程序可以考虑为它绑定一个OnSeekBarChangeListener监听器. 以下是一个使用SeekBar来调节系统音量的实例: XML代码: <Se

Android控件拖动的实现

这个也是从网上得到的代码,例子比较简单,但是如果有需要此功能的,这个例子可以提供很多提示,首先,给个截图 这个是拖动以后的效果,一个imageview和一个button控件,提供两份代码下载吧,一份是只有一个Button的,另一份就是像上图,就是多了一个imagview!先看下代码吧,比较简单: public class DraftTest extends Activity implements OnTouchListener{ /** Called when the activity is f

【转】禁止seekbar的拖动事件

原文网址:http://blog.csdn.net/ansionnal/article/details/8229801 当然是可以的! 其实是 onTouchEvent 事件时,不让他传递事件就行了!来个简单的自定义控件 package shuixian.jing.listview; import android.content.Context; import android.util.AttributeSet; import android.view.MotionEvent; import a