明るさを変更するには、ダイアログにSeekBarを挿入しようとしています。これを行うために、私はこのコードを書いた。DialogFragmentのgetContentResolver()とgetWindow()
public class Lum extends DialogFragment{
private SeekBar brightbar;
private int brightness;
private ContentResolver cResolver;
private Window window;
TextView txtPerc;
boolean stato;
Context context;
public android.app.Dialog onCreateDialog(Bundle savedInstanceState) {
// Use the Builder class for convenient dialog construction
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
LayoutInflater inflater = getActivity().getLayoutInflater();
View view = inflater.inflate(R.layout.dialog_brightness, null);
builder.setView(view);
brightbar = (SeekBar) view.findViewById(R.id.brightbar);
txtPerc = (TextView) view.findViewById(R.id.txtPercentage);
//cResolver = getContentResolver();
//window = getWindow();
brightbar.setMax(255);
brightbar.setKeyProgressIncrement(1);
brightbar = (SeekBar) view.findViewById(R.id.brightbar);
txtPerc = (TextView) view.findViewById(R.id.txtPercentage);
cResolver = getContentResolver();
window = getWindow();
brightbar.setMax(255);
brightbar.setKeyProgressIncrement(1);
try {
brightness = Settings.System.getInt(context.getContentResolver(), Settings.System.SCREEN_BRIGHTNESS);
} catch (SettingNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
float perc = (brightness /(float)255)*100;
txtPerc.setText((int)perc +" %");
brightbar.setProgress(brightness);
brightbar.setOnSeekBarChangeListener(new OnSeekBarChangeListener()
{
public void onStopTrackingTouch(SeekBar seekBar)
{
Settings.System.putInt(context.getContentResolver(), Settings.System.SCREEN_BRIGHTNESS, brightness);
LayoutParams layoutpars = window.getAttributes();
layoutpars.screenBrightness = brightness/(float)255;
window.setAttributes(layoutpars);
}
public void onStartTrackingTouch(SeekBar seekBar)
{
}
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser)
{
brightness = progress;
float perc = (brightness /(float)255)*100;
txtPerc.setText((int)perc +" %");
}
});
builder.setTitle("Brightness")
.setPositiveButton("Close", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
dismiss();
}
});
// Create the AlertDialog object and return it
return builder.create();
}
}
問題は、私はDialogFragmentない活動に取り組んでいますので、私のIDE EclipseがgetContentResolverとは、GetWindowでエラーをマークしていることです。 このクラスでこの命令を使用するにはどうすればよいですか?あなたがそれをすることができない場合は、代替手段がありますか?事前のおかげで
使用「getActivity()。getContentResolver()」 – Raghunandan
こんにちは、ありがとうございます。できます。私もgetActivity()。getWindow()を使用しています。マニーは感謝します。 –