Android中 视频屏幕左半部分上下滑动改变亮度右半部分上下滑动改变声音
更新时间:2016年09月24日 09:05:22 作者:libuyi
这篇文章主要介绍了Android中 视频屏幕左半部分上下滑动改变亮度右半部分上下滑动改变声音的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
说明:
实现功能:
(1)屏幕右半部分上滑,声音变大,下滑,声音变小 屏幕左半部分上滑,亮度变大,下滑,亮度变小
(2)如果亮度>1或者小于0.2时,手机震动
private float startY;//记录手指按下时的Y坐标 private float startX;//记录手指按下时的Y坐标 private int downVol;//记录手指按下时的音量 private Vibrator vibrator;//手机震动器 //不要忘记震动权限<uses-permission android:name="android.permission.VIBRATE" /> /* * 设置屏幕亮度 lp = 0 全暗 ,lp= -1,根据系统设置, lp = 1; 最亮 */ public void setBrightness(float brightness) { WindowManager.LayoutParams lp = getWindow().getAttributes(); // if (lp.screenBrightness <= 0.1) { // return; // } lp.screenBrightness = lp.screenBrightness + brightness / 255.0f; if (lp.screenBrightness > 1) { lp.screenBrightness = 1; vibrator = (Vibrator) getSystemService(VIBRATOR_SERVICE); long[] pattern = { 10, 200 }; // OFF/ON/OFF/ON... 关闭10秒震动200毫秒,不停切换 vibrator.vibrate(pattern, -1); } else if (lp.screenBrightness < 0.2) { lp.screenBrightness = (float) 0.2; vibrator = (Vibrator) getSystemService(VIBRATOR_SERVICE); long[] pattern = { 10, 200 }; // OFF/ON/OFF/ON... vibrator.vibrate(pattern, -1); } getWindow().setAttributes(lp); } @Override public boolean onTouchEvent(MotionEvent event) { //把事件传递给手势识别器(注:对事件只进行了解析处理,没有拦截,解析成手势识别的单击、双击、长按) detector.onTouchEvent(event); switch (event.getAction()) { case MotionEvent.ACTION_DOWN : startY=event.getY(); startX=event.getX(); downVol=audioManager.getStreamVolume(AudioManager.STREAM_MUSIC); handler.removeMessages(HIDE_CONTROL); break; case MotionEvent.ACTION_MOVE : float endY=event.getY(); float distanceY=startY-endY; if(startX>screenWidth/2){ //屏幕右半部分上滑,声音变大,下滑,声音变小 int touchRang=Math.min(screenWidth,screenHeight); //int curvol= (int) (downVol+(distance/screenHeight)*maxVolume); int curvol= (int) (downVol+(distanceY/touchRang)*maxVolume);//考虑到横竖屏切换的问题 int volume=Math.min(Math.max(0,curvol),maxVolume); updateVolume(volume); }else{ //屏幕左半部分上滑,亮度变大,下滑,亮度变小 final double FLING_MIN_DISTANCE = 0.5; final double FLING_MIN_VELOCITY = 0.5; if (distanceY > FLING_MIN_DISTANCE && Math.abs(distanceY) > FLING_MIN_VELOCITY) { setBrightness(20); } if (distanceY < FLING_MIN_DISTANCE && Math.abs(distanceY) > FLING_MIN_VELOCITY) { setBrightness(-20); } } break; case MotionEvent.ACTION_UP : handler.sendEmptyMessageDelayed(HIDE_CONTROL,5000); break; } return super.onTouchEvent(event); }
以上所述是小编给大家介绍的Android中 视频屏幕左半部分上下滑动改变亮度右半部分上下滑动改变声音 ,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
相关文章
Android开发中自定义ProgressBar控件的方法示例
这篇文章主要介绍了Android开发中自定义ProgressBar控件的方法,结合实例形式分析了自定义ProgressBar控件的定义与使用方法,需要的朋友可以参考下2017-10-10Android连接MySQL数据库并进行增删改查操作示例讲解
这篇文章主要介绍了Android 连接MySQL数据库并进行增删改查操作示例讲解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2020-08-08Android避免内存溢出(Out of Memory)方法汇总
这篇文章主要为大家详细介绍了Android避免内存溢出Out of Memory方法汇总,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2017-01-01
最新评论