отображать панель поиска, когда пользователь касается экрана, и скрывать ее по завершении - PullRequest
0 голосов
/ 16 июня 2020

Я использую этот код для увеличения и уменьшения уровня яркости и изменения цвета панели поиска, я хочу, чтобы панель была невидимой, и когда на экране обнаруживается событие касания, панель будет видна и после изменить, он снова станет невидимым, как я могу это сделать?

    seekBar2.getProgressDrawable().setColorFilter( Color.WHITE, PorterDuff.Mode.SRC_IN);
    seekBar2.getThumb().setColorFilter( Color.WHITE, PorterDuff.Mode.SRC_IN);

    seekBar2.setOnSeekBarChangeListener( new SeekBar.OnSeekBarChangeListener() {
        @Override
        public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
            if (fromUser && success) {
                setBrightness(progress + 58);
            }
        }

        @Override
        public void onStopTrackingTouch(SeekBar seekBar) {
            if (!success) {
                Toast.makeText( getActivity(), "Permission not grantes!", Toast.LENGTH_SHORT).show();
            }

        }
    } );

    return view;
}

private void setBrightness(int brightness) {
    if (brightness < 0) {
        brightness = 0;
    } else if (brightness > 255) {
        brightness = 255;
    }
    ContentResolver contentResolver = getContext().getContentResolver();
    Settings.System.putInt( contentResolver, Settings.System.SCREEN_BRIGHTNESS, brightness );
}

private int getBrightness() {
    int brightness = 100;
    try {
        ContentResolver contentResolver = getContext().getContentResolver();
        brightness = Settings.System.getInt(contentResolver, Settings.System.SCREEN_BRIGHTNESS);
    } catch (Settings.SettingNotFoundException e) {
        e.printStackTrace();
    }
    return brightness;
}

private void getPermission () {
    boolean value;
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
        value = Settings.System.canWrite(getContext());
        if (value) {
            success = true;
        } else {
            Intent intent = new Intent(Settings.ACTION_MANAGE_WRITE_SETTINGS);
            intent.setData( Uri.parse( "package:" + getContext().getPackageName()));
            startActivityForResult(intent, 1000);
        }
    }
}
...