Android中 视频屏幕左半部分上下滑动改变亮度右半部分上下滑动改变声音
说明:
实现功能:
(1)屏幕右半部分上滑,声音变大,下滑,声音变小屏幕左半部分上滑,亮度变大,下滑,亮度变小
(2)如果亮度>1或者小于0.2时,手机震动
privatefloatstartY;//记录手指按下时的Y坐标
privatefloatstartX;//记录手指按下时的Y坐标
privateintdownVol;//记录手指按下时的音量
privateVibratorvibrator;//手机震动器
//不要忘记震动权限<uses-permissionandroid:name="android.permission.VIBRATE"/>
/*
*设置屏幕亮度lp=0全暗,lp=-1,根据系统设置,lp=1;最亮
*/
publicvoidsetBrightness(floatbrightness){
WindowManager.LayoutParamslp=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);
}elseif(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
publicbooleanonTouchEvent(MotionEventevent){
//把事件传递给手势识别器(注:对事件只进行了解析处理,没有拦截,解析成手势识别的单击、双击、长按)
detector.onTouchEvent(event);
switch(event.getAction()){
caseMotionEvent.ACTION_DOWN:
startY=event.getY();
startX=event.getX();
downVol=audioManager.getStreamVolume(AudioManager.STREAM_MUSIC);
handler.removeMessages(HIDE_CONTROL);
break;
caseMotionEvent.ACTION_MOVE:
floatendY=event.getY();
floatdistanceY=startY-endY;
if(startX>screenWidth/2){
//屏幕右半部分上滑,声音变大,下滑,声音变小
inttouchRang=Math.min(screenWidth,screenHeight);
//intcurvol=(int)(downVol+(distance/screenHeight)*maxVolume);
intcurvol=(int)(downVol+(distanceY/touchRang)*maxVolume);//考虑到横竖屏切换的问题
intvolume=Math.min(Math.max(0,curvol),maxVolume);
updateVolume(volume);
}else{
//屏幕左半部分上滑,亮度变大,下滑,亮度变小
finaldoubleFLING_MIN_DISTANCE=0.5;
finaldoubleFLING_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;
caseMotionEvent.ACTION_UP:
handler.sendEmptyMessageDelayed(HIDE_CONTROL,5000);
break;
}
returnsuper.onTouchEvent(event);
}
以上所述是小编给大家介绍的Android中视频屏幕左半部分上下滑动改变亮度右半部分上下滑动改变声音,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!