una significa que para imagenes imagen como atributos atributo agregar android imageview android-dialog

android - significa - Imagen en un diálogo



que significa alt en una imagen (2)

Estoy tratando de mostrar un ImageView en un diálogo, he seguido varios ejemplos, pero ninguno de ellos parece funcionar ya que cuando abro el diálogo, la aplicación se cierra.

<ImageView android:id="@+id/image" android:contentDescription="@string/desc1" android:layout_width="wrap_content" android:layout_height="wrap_content" />

Esto es lo que tengo en mi MainActivity

button1.setOnLongClickListener(new OnLongClickListener() { public boolean onLongClick(View v) { AlertDialog dialog = new AlertDialog.Builder(MainActivity.this).create(); dialog.setTitle("Title"); ImageView img = (ImageView) findViewById(R.id.image); img.setImageResource(R.drawable.dust); dialog.setView(img); dialog.show(); return false; } }); }

Usando este nuevo código he podido mostrar el diálogo con la imagen en el interior y también he podido rotar la imagen

button1.setOnLongClickListener(new OnLongClickListener() { public boolean onLongClick(View v) { Dialog dialog = new Dialog(MainActivity.this); LayoutInflater inflater = LayoutInflater.from(MainActivity.this); RotateAnimation anim = new RotateAnimation(0f, 360f, 200f, 200f); anim.setInterpolator(new LinearInterpolator()); anim.setRepeatCount(Animation.INFINITE); anim.setDuration(10000); dialog.setTitle("You have found the easter egg!"); View view = inflater.inflate(R.layout.activity_main2, null); dialog.setContentView(view); view.startAnimation(anim); dialog.show(); return false; } }); }


No debe usar AlertDialog para su diálogo personalizado. Use la clase de diálogo regular y su método setContentView (). O puede usar DialogFragment.

UPD: Me han dicho que AlertDialog tiene el método setView (). Puedes probarlo.


when I open the dialog the app closes.

Debido a que su cuadro de diálogo ImageView img es nulo

ImageView img = (ImageView) dialog.findViewById(R.id.image); // <--- img is not visible through dialog.. img.setImageResource(R.drawable.dust); // <--- this line throw exception

Solo cambia tu código así,

AlertDialog dialog = new AlertDialog.Builder(MainActivity.this).create(); LayoutInflater inflater = LayoutInflater.from(MainActivity.this); dialog.setTitle("Title"); View view = inflater.inflate(R.layout.<xml_image>, null); // xml Layout file for imageView ImageView img = (ImageView) view.findViewById(R.id.image); img.setImageResource(R.drawable.dust); dialog.setView(view); dialog.show();