ImageView ScaleType ignora el relleno
Tengo un conjunto de Imageview con un fondo blanco y 1dp relleno, esto crea un efecto similar a la frontera, que es el resultado deseado.
Ahora, si establezco el scaleType en centerCrop, ignora el relleno en la parte superior e inferior.
Así que todavía tengo mi frontera en el lado izquierdo y derecho, pero no en la parte superior e inferior.
- Custom ListView donde todas las imágenes tienen el mismo tamaño
- Android eclipse añadir estado pulsado a ImageView
- Android: OutofMemoryError: el tamaño de mapa de bits supera el presupuesto de VM sin ninguna razón que pueda ver
- Margen redundante al agregar ImageView a ScrollView en Android
- Cambios en el diseño si el idioma del dispositivo es árabe
¿Alguien con una idea para detener esto? O bien otra forma rápida de crear un borde alrededor de las imágenes. Lo uso para mi gridview personalizado
<ImageView android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1" android:background="#FFFFFF" android:contentDescription="@string/test" android:padding="1dp" android:src="@drawable/some_photo" android:scaleType="centerCrop" />
- Android: ¿Cómo iniciar una animación infinita aplicada en un ImageView después de la actividad con la vista animada se ha reanudado?
- Vista de imagen con esquinas redondeadas después de escalar con ScaleType.CenterCrop
- Crear superposición Animación ImageView Google Map
- Carga de mapas de bits grandes a ImageView en ViewPager - sin memoria
- Android - Guardar imagenVer en archivo con resolución completa de imagen
- La ondulación se dibuja a continuación ImageView
- Android: Cómo cargar imagen dinámicamente desde el servidor por su nombre de SQlite
- Cómo detener la animación en android
Acabo de encontrar el mismo problema, para mi solución estará agregando el androide: layout_marginRight = "5dip"
<ImageView android:layout_width="40dp" android:layout_height="30dp" android:background="#ffffffff" android:src="@drawable/liveview_logo" android:layout_marginRight="5dip"/>
<ImageView android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1" android:contentDescription="@string/test" android:padding="1dp" android:src="@drawable/some_photo" android:cropToPadding="true" android:scaleType="centerCrop" />
Sólo es necesario agregar android: cropToPadding
Android: cropToPadding = "true"
Y entonces el imageView va a respetar el relleno que usted elija.
Usted puede dar la frontera fijando el android:background="@drawable/edit_border"
Y su edit_border:
<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" > <stroke android:width="2dp" android:color="#EBDDE2" /> <padding android:bottom="2dp" android:left="2dp" android:right="2dp" android:top="4dp" /> <gradient android:centerColor="@color/white" android:endColor="@color/white" android:startColor="@color/white" /> <corners android:radius="8dp" /> </shape>
Respuesta @Manolo García es correcta. Eso me ayudó en la imagen dinámica con la frontera, Escala Tipo Center Crop y el relleno.
final ImageView imageView = new ImageView(context); LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(200,200); lp.setMargins(0, 0, 10, 0); imageView.setLayoutParams(lp); imageView.setAdjustViewBounds(true); imageView.setCropToPadding(true); imageView.setScaleType(ImageView.ScaleType.CENTER_CROP); imageView.setBackgroundResource(R.drawable.img_blue_border); imageView.setPadding(5, 5, 5, 5);
- Android Development Tool 23.0.0 y Android L Error de actualización en eclipse
- Cómo bloquear / desbloquear la pantalla mediante programación?