public void setScreenBrightness(BaseActivity activity, float value) {
WindowManager.LayoutParams params = activity.getWindow().getAttributes();
params.screenBrightness = value;//0-255
activity.getWindow().setAttributes(params);
}
//手指按下的点为(x1, y1)手指离开屏幕的点为(x2, y2)
float x1 = 0;
float x2 = 0;
float y1 = 0;
float y2 = 0;
int count;
@Override
public boolean onTouchEvent(MotionEvent event) {
int action = event.getAction();
brightRl = (RelativeLayout) findViewById(R.id.brightRl);
switch (action) {
case MotionEvent.ACTION_DOWN:
//当手指按下的时候
x1 = event.getX();
y1 = event.getY();
audioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
currentVolue = audioManager.getStreamVolume(AudioManager.STREAM_MUSIC);
if (count == 0) {
screenBrightness = 0.3f;
} else {
screenBrightness = getWindow().getAttributes().screenBrightness;//系统默认的亮度为-1
}
count++;
break;
case MotionEvent.ACTION_MOVE:
//当手指离开的时候
x2 = event.getX();
y2 = event.getY();
float count = y1 - y2;
float dif = Math.abs(count);
float titleHeight = getResources().getDimension(R.dimen.titleHeight);
if (dif > 50 && y1 > titleHeight) {
ImageView brighticon = (ImageView) findViewById(R.id.brighticon);
brightValue = (TextView) findViewById(R.id.brightValue);
brightRl.setVisibility(View.VISIBLE);
if (x1 < windownWidth / 2) {
brighticon.setImageResource(R.drawable.bright);
float currentBrightness = screenBrightness + (count / windownHeight);
if (currentBrightness < 0.0f) {
currentBrightness = 0.0f;
} else if (currentBrightness > 1.0f) {
currentBrightness = 1.0f;
}
int light = (int) ((currentBrightness) * 100);
brightValue.setText(light + "%");
setScreenBrightness(this, currentBrightness);
} else {
brighticon.setImageResource(R.drawable.music);
int maxVolume = audioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC);//最大15
int volue = currentVolue + (int) ((count / windownHeight) * maxVolume);
if (volue < 0) {
volue = 0;
} else if (volue > maxVolume) {
volue = maxVolume;
}
brightValue.setText((volue * 100) / maxVolume + "%");
audioManager.setStreamVolume(AudioManager.STREAM_MUSIC, volue, 0);//设置声音大小
}
}
break;
case MotionEvent.ACTION_UP:
brightRl.setVisibility(View.GONE);
break;
}
return super.onTouchEvent(event);
}
WindowManager.LayoutParams params = activity.getWindow().getAttributes();
params.screenBrightness = value;//0-255
activity.getWindow().setAttributes(params);
}
//手指按下的点为(x1, y1)手指离开屏幕的点为(x2, y2)
float x1 = 0;
float x2 = 0;
float y1 = 0;
float y2 = 0;
int count;
@Override
public boolean onTouchEvent(MotionEvent event) {
int action = event.getAction();
brightRl = (RelativeLayout) findViewById(R.id.brightRl);
switch (action) {
case MotionEvent.ACTION_DOWN:
//当手指按下的时候
x1 = event.getX();
y1 = event.getY();
audioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
currentVolue = audioManager.getStreamVolume(AudioManager.STREAM_MUSIC);
if (count == 0) {
screenBrightness = 0.3f;
} else {
screenBrightness = getWindow().getAttributes().screenBrightness;//系统默认的亮度为-1
}
count++;
break;
case MotionEvent.ACTION_MOVE:
//当手指离开的时候
x2 = event.getX();
y2 = event.getY();
float count = y1 - y2;
float dif = Math.abs(count);
float titleHeight = getResources().getDimension(R.dimen.titleHeight);
if (dif > 50 && y1 > titleHeight) {
ImageView brighticon = (ImageView) findViewById(R.id.brighticon);
brightValue = (TextView) findViewById(R.id.brightValue);
brightRl.setVisibility(View.VISIBLE);
if (x1 < windownWidth / 2) {
brighticon.setImageResource(R.drawable.bright);
float currentBrightness = screenBrightness + (count / windownHeight);
if (currentBrightness < 0.0f) {
currentBrightness = 0.0f;
} else if (currentBrightness > 1.0f) {
currentBrightness = 1.0f;
}
int light = (int) ((currentBrightness) * 100);
brightValue.setText(light + "%");
setScreenBrightness(this, currentBrightness);
} else {
brighticon.setImageResource(R.drawable.music);
int maxVolume = audioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC);//最大15
int volue = currentVolue + (int) ((count / windownHeight) * maxVolume);
if (volue < 0) {
volue = 0;
} else if (volue > maxVolume) {
volue = maxVolume;
}
brightValue.setText((volue * 100) / maxVolume + "%");
audioManager.setStreamVolume(AudioManager.STREAM_MUSIC, volue, 0);//设置声音大小
}
}
break;
case MotionEvent.ACTION_UP:
brightRl.setVisibility(View.GONE);
break;
}
return super.onTouchEvent(event);
}