- Posts del Foro: 3
8 abr. 2016 0:02:57 vía Web
8 abr. 2016 0:02:57 vía Web
hola buen dia, soy un poco nuevo en esto de desarrollo de aplicaciones de android, quisiera saber si me pueden ayudar con mi aplicacion. mi problema es el siguiente:
las acciones de los otros botones se me muestran en un solo boton, como le hago para poner a cada boton su accion determinada?
y como hago para hacer escala de grises?
mi codigo es el siguiente:
public class MainActivity extends ActionBarActivity {
private String APP_DIRECTORY = "myPictureApp/";
private String MEDIA_DIRECTORY = APP_DIRECTORY + "media";
private String TEMPORAL_PICTURE_NAME = "tempral.jpg";
private final int PHOTO_CODE = 100;
private final int SELECT_PICTURE = 200;
private ImageView imageView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
imageView = (ImageView) findViewById(R.id.imageView);
Button button = (Button) findViewById(R.id.Cam);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
final CharSequence[] options = {"Tomar Foto", "Elegir Galeria", "Cancelar"};
final AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
builder.setTitle("Foto Capturada");
builder.setItems(options, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
if (options[which] == "Cam") {
openCamera();
} else if (options[which] == "Elegir Galeria") {
Intent intent = new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
intent.setType("image/*");
startActivityForResult(Intent.createChooser(intent, "Selecciona App de la imagen"), SELECT_PICTURE);
} else if (options[which] == "Candelar") {
dialog.dismiss();
}
}
});
builder.show();
}
});
}
private void openCamera(){
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(intent,PHOTO_CODE);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data){
super.onActivityResult(requestCode, resultCode, data);
switch (requestCode){
case PHOTO_CODE:
if (resultCode == RESULT_OK){
Bundle ext = data.getExtras();
imageView.setImageBitmap((Bitmap)ext.get("data"));
//Original = (Bitmap)ext.get("data");
}
break;
case SELECT_PICTURE:
if (resultCode == RESULT_OK){
Uri path= data.getData();
imageView.setImageURI(path);
}
break;
}
}
private void decodeBitmap(String dir){
Bitmap bitmap;
bitmap = BitmapFactory.decodeFile(dir);
imageView.setImageBitmap(bitmap);
}
}
y no se donde poner este codigo, pues segun es para la escala de grises:
//Bitmap bmp = (Bitmap)ext.get("data");
//Bitmap objmut = Bitmap.createBitmap(bmp);
//for (int i=0;i<=bmp.getWidth();i++){
//for (int j=0;j<=bmp.getHeight();j++){
//int color = wolverine.getpixel(i, j);
//int cA = Color.alpha(color);
//int cB = Color.blue(color);
//int cG = Color.green(color);
//int cR = Color.red(color);
//int media = (cA+cG+cR)/3;
//objmut.setPixel(i, j, color);
//}
//}
Contenido editorial recomendado
Con su consentimiento, aquí se cargan contenidos externos.
Al hacer clic en el botón anterior, acepta que se le muestren contenidos externos. En el proceso pueden transmitirse datos personales a terceros proveedores. Encontrará más información al respecto en nuestro Política de privacidad.