Android中 视频屏幕左半部分上下滑动改变亮度右半部分上下滑动改变声音

作者:libuyi 时间:2021-08-13 02:57:12 

说明:

实现功能:

(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中 视频屏幕左半部分上下滑动改变亮度右半部分上下滑动改变声音 网站的支持!

来源:http://www.cnblogs.com/libuyi/archive/2016/09/23/5902092.html

标签:屏幕,上下滑动
0
投稿

猜你喜欢

  • Android编程设计模式之原型模式实例详解

    2021-09-14 02:20:47
  • Java编程计算兔子生兔子的问题

    2023-08-01 15:24:37
  • mybatis 字段名自动转小写的实现

    2021-09-09 20:04:26
  • mall整合SpringTask实现定时任务的方法示例

    2023-09-15 18:08:08
  • 使Java的JButton文字隐藏功能的实现(不隐藏按钮的前提)

    2022-06-01 23:54:33
  • Java程序部署到服务器上,接口请求下载文件失败/文件为空/文件名不对的问题

    2023-05-12 15:30:00
  • Java String类的理解及字符串常量池介绍

    2022-11-14 15:42:22
  • java读取properties配置文件的方法

    2022-02-13 17:15:44
  • Java rmi远程方法调用基本用法解析

    2023-02-20 08:44:19
  • 详解Android端与JavaWeb传输加密(DES+RSA)

    2022-05-18 09:36:47
  • redis统计APP在线人数的实例

    2023-11-24 23:56:54
  • Java利用递归算法实现查询斐波那契数

    2023-08-04 00:02:29
  • Seata AT模式启动过程图文示例详解

    2022-12-04 19:24:56
  • spring获取bean的源码解析

    2023-10-11 22:15:43
  • SpringBoot AOP AspectJ切面技术介绍与实现方式

    2022-12-27 22:03:53
  • JAVA JDK8 List获取属性列表

    2023-04-12 04:32:42
  • Android 实现界面刷新的几种方法

    2023-01-19 06:27:50
  • Android 中ScrollView嵌套GridView,ListView的实例

    2023-06-15 15:49:56
  • 解决IDEA中不能正常输入光标变粗的问题

    2023-11-29 20:14:58
  • FragmentStatePagerAdapter保存恢复下拉刷新Fragment内存数据

    2023-07-17 20:36:40
  • asp之家 软件编程 m.aspxhome.com