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 configurar un efecto ripple en textview o imageview en Android?
- Android: establece un borde alrededor de un ImageView
- Cómo parpadeo de la imagen en ImageView (Android)
- Haz que la imagen aparezca en la mitad de la pantalla
- Cómo desvanecer imagen en ImageView cargado de url
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.
- Zoom y arrastrar una imagen en android
- En Android, ¿puedo utilizar la imagen de los elementos de layout xml?
- Recuperar la imagen de mysql-php (android)
- Cómo tener una imagen de fondo de pantalla completa (con centro de cultivo) que no cambia el tamaño
- Cómo fijar correctamente fixTransX y fixTransY de TouchImageView para implementar doubleTap a ZoomOut?
- Saltar ImageView mientras arrastra. Los valores de getX () y getY () saltan
- Android ImageView: Ajustar el ancho
- ImageView adjustViewBounds no funciona
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