Imagen de escala de Android de setImageBitmap
Tengo este código:
<ImageView android:id="@+id/listitem_logo" android:layout_width="match_parent" android:layout_height="wrap_content" />
y
- Cómo desvanecer imagen en ImageView cargado de url
- Cómo girar / voltear androide imageView?
- ¿Colocar un ImageView en el centro con el ancho y la altura para ser la mitad del ancho de los padres?
- Cómo mover sin problemas una imagen de vista con el dedo de los usuarios en el emulador de Android
- ¿Cómo subir la imagen a Parse en android?
imageview_logo.setImageBitmap(bit); // comes from assets imageview_logo.setAdjustViewBounds(true); imageview_logo.setScaleType(ImageView.ScaleType.FIT_CENTER); imageview_logo.setBackgroundColor(0x00000000); imageview_logo.setPadding(0, 0, 0, 0); imageview_logo.setVisibility(v.VISIBLE);
Al cargar la imagen de esta manera, no hay escalamiento parece haber sido hecho. Sin embargo, si carga una imagen a través de setImageDrawable () r.res. La imagen dentro de ImageView
se redimensiona. Sin embargo, necesito usar setImageBitmap () ya que carga mis imágenes a través de la carpeta de activos.
¿Estoy perdiendo algún ajuste aquí? ¿Eso hará que Android cambie el tamaño y escala el mapa de bits, por lo que utiliza el ancho completo de ImageView? Supongo que puedo hacerlo yo mismo en el código, pero de improviso, creo que lo que quiero hacer sería compatible con el establecimiento de algunas propiedades.
- Android y la configuración de alfa para (imagen) ver alfa
- ImageView no conserva la imagen cuando ocurre la rotación de la pantalla
- Android ImageView Zoom con superposición de texto
- Cómo hacer una transición suave de una imagen a otra
- Android: Mostrar la imagen en la vista de imagen por SimpleAdapter
- Dibujo de una cabeza de flecha en android
- La escala de ImageView no funciona
- Para mucho tiempo en onmeasure método después de setImageBitmap de ImageView
No se puede confiar en el sistema para todo especialmente Android que se comporta de manera muy diferente a veces. Puede cambiar el tamaño del mapa de bits.
height = (Screenwidth*originalHeight)/originalWidth;
Esto generará la altura apropiada. El ancho es igual al ancho de la pantalla como mencionaste.
Bitmap pq=Bitmap.createScaledBitmap(pq,Screenwidth,height, true);
Como necesitaba un poco de tiempo para averiguar el código completo para hacer este trabajo, estoy publicando un ejemplo completo aquí dependiendo de la respuesta anterior:
ImageView bikeImage = (ImageView) view.findViewById(R.id.bikeImage); AssetLoader assetLoader = new AssetLoader(getActivity()); Bitmap bitmap = assetLoader.getBitmapFromAssets( Constants.BIKES_FOLDER + "/" + bike.getName().toLowerCase() .replace(' ', '_').replace('-', '_') + ".png"); int width = getActivity().getResources().getDisplayMetrics().widthPixels; int height = (width*bitmap.getHeight())/bitmap.getWidth(); bitmap = Bitmap.createScaledBitmap(bitmap, width, height, true); bikeImage.setImageBitmap(bitmap);
- Cómo evitar que mi aplicación aparezca en la lista de aplicaciones utilizadas recientemente
- Barra de herramientas superpone la barra de estado