Android - como ocultar / mostrar a barra de progresso onclick
Eu estou tentando mostrar uma barra de progresso quando um botão é clicado. Quando eu testo o aplicativo, ele fecha / pára. Meu aplicativo funciona bem antes que o código da barra de progresso seja adicionado.
Também estou usando um botão de alternância, se isso pode ser importante, e eu quero que a barra de progresso não seja um diálogo.
qualquer ajuda?
aqui meu código:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
button = (Button) findViewById(R.id.buttonFlashlight);
Context context = this;
PackageManager pm = context.getPackageManager();
if (!pm.hasSystemFeature(PackageManager.FEATURE_CAMERA)) {
Log.e("err", "Device has no camera!");
return;
}
camera = Camera.open();
final Parameters p = camera.getParameters();
button.setOnClickListener(new OnClickListener() {
public void onClick(View arg0) {
if (isLighOn) {
progressBar1.setVisibility(View.INVISIBLE);
final MediaPlayer mp1=MediaPlayer.create(getBaseContext(), R.drawable.click);
mp1.start();
Log.i("info", "torch is turn off!");
p.setFlashMode(Parameters.FLASH_MODE_OFF);
camera.setParameters(p);
camera.stopPreview();
isLighOn = false;
WindowManager.LayoutParams params = getWindow().getAttributes();
params.screenBrightness = 1.0f;
getWindow().setAttributes(params);
} else {
progressBar1.setVisibility(View.VISIBLE);
final MediaPlayer mp1=MediaPlayer.create(getBaseContext(), R.drawable.click);
mp1.start();
Log.i("info", "torch is turn on!");
p.setFlashMode(Parameters.FLASH_MODE_TORCH);
camera.setParameters(p);
camera.startPreview();
isLighOn = true;
WindowManager.LayoutParams params = getWindow().getAttributes();
params.screenBrightness = 0.05f;
getWindow().setAttributes(params);
}
}
});
}