Android中增加seekbar可触摸的区域
2016-01-15 00:51
489 查看
//mCurrentView 是Seekbar的父亲
private void enlargeSeekBar(){
mCurrentView.setOnTouchListener(new OnTouchListener(){
@Override
public boolean onTouch(View v, MotionEvent event) {
Rect seekRect = new Rect();
mSeekBar.getHitRect(seekRect);
if((event.getY() >= (seekRect.top-50)) && (event.getY()<= (seekRect.bottom+50))){
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 mSeekBar.onTouchEvent(me);
}
return false;
}
});
}
private void enlargeSeekBar(){
mCurrentView.setOnTouchListener(new OnTouchListener(){
@Override
public boolean onTouch(View v, MotionEvent event) {
Rect seekRect = new Rect();
mSeekBar.getHitRect(seekRect);
if((event.getY() >= (seekRect.top-50)) && (event.getY()<= (seekRect.bottom+50))){
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 mSeekBar.onTouchEvent(me);
}
return false;
}
});
}
相关文章推荐
- android的actionBar的下拉列表
- Android自定义控件——PullZoomView
- Android碎片化难题:手游兼容性测试应该适配哪些机型?
- Android 开发中,有哪些坑需要注意?
- Android Studio你不知道的调试技巧
- 解决win8下AndroidSDK秒退的问题
- Android中Canvas绘图之Shader使用图文详解
- Android调用Java WebSevice篇之二
- Android柱状图-柱子分组
- Android调用Java WebSevice篇之一
- Android手机文件管理
- Android屏幕适配
- Android 蓝牙开发基本流程
- android 拍照或者选取相片放在指定文件夹,并且生成缩略图。上传到服务器
- android 混淆打包
- 野人学Android第三弹——利用java的反射机制创建一个数据操作类
- Android退出应用最优雅的方式
- Android Studio——InputStreamReader和BufferedReader用法及真实案例
- Android Studio 优化的相关博客
- 在 Android 上使用 XML