Do you want to change screen brightness using seek bar in alertdialog?
Well this time your wish has come true!
In your activity_main.xml copy this code:
Now in MainActivity.java Copy this code:
import android.os.Bundle; import android.provider.Settings.SettingNotFoundException; import android.provider.Settings.System; import android.util.Log; import android.view.Menu; import android.view.View; import android.view.Window; import android.view.WindowManager.LayoutParams; import android.widget.Button; import android.widget.SeekBar; import android.widget.TextView; import android.app.Activity; import android.app.AlertDialog; import android.content.ContentResolver; import android.content.DialogInterface; public class MainActivity extends Activity { public TextView txtView; float curBrightnessValue = 0; private int brightness; //Content resolver used as a handle to the system's settings private ContentResolver cResolver; //Window object, that will store a reference to the current window private Window window; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); txtView = (TextView)findViewById(R.id.textView1); // TextView // Button1 final Button btn1 = (Button) findViewById(R.id.button1); btn1.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { ShowDialog(); } }); } public void ShowDialog(){ final AlertDialog.Builder popDialog = new AlertDialog.Builder(this); final SeekBar seek = new SeekBar(this); seek.setMax(255); seek.setKeyProgressIncrement(1); window = getWindow(); cResolver = getContentResolver(); //popDialog.setIcon(android.R.drawable.btn_star_big_on); popDialog.setTitle("Please Select Into Your Desired Brightness "); popDialog.setView(seek); try { //Get the current system brightness brightness = System.getInt(cResolver, System.SCREEN_BRIGHTNESS); } catch (SettingNotFoundException e) { //Throw an error case it couldn't be retrieved Log.e("Error", "Cannot access system brightness"); e.printStackTrace(); } //Set the progress of the seek bar based on the system's brightness seek.setProgress(brightness); seek.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() { public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser){ //Set the minimal brightness level //if seek bar is 20 or any value below if(progress<=20) { popDialog.setIcon(R.drawable.bright1); //Set the brightness to 20 brightness=20; } else //brightness is greater than 20 { //Set brightness variable based on the progress bar brightness = progress; } //Calculate the brightness percentage float perc = (brightness /(float)255)*100; //Set the brightness percentage //Do something here with new value txtView.setText("Value of : " + progress); } public void onStartTrackingTouch(SeekBar arg0) { // TODO Auto-generated method stub } public void onStopTrackingTouch(SeekBar seekBar) { //Set the system brightness using the brightness variable value System.putInt(cResolver, System.SCREEN_BRIGHTNESS, brightness); //Get the current window attributes LayoutParams layoutpars = window.getAttributes(); //Set the brightness of this window layoutpars.screenBrightness = brightness / (float)255; //Apply attribute changes to this window window.setAttributes(layoutpars); } }); // Button OK popDialog.setPositiveButton("OK", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); } }); popDialog.create(); popDialog.show(); } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.main, menu); return true; } }Now run it on the real device not in the emulator! HAPPY CODING!