android - setscaletype - centerinside
ImageView ScaleType ignora el relleno (4)
Tengo un conjunto de imágenes con un fondo blanco y un relleno de 1dp, esto crea un efecto de borde, que es el resultado deseado.
Ahora si configuro scaleType en centerCrop, ignora el relleno en la parte superior e inferior.
Así que todavía tengo mi borde en el lado izquierdo y derecho, pero no en la parte superior e inferior.
¿Alguien con una idea para evitar que esto suceda? U otra forma rápida de crear un borde alrededor de las imágenes. Lo uso para mi gridview personalizada
<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" />
Acabo de encontrar el mismo problema, porque mi solución será agregar el android: layout_marginRight = "5dip"
<ImageView
android:layout_width="40dp"
android:layout_height="30dp"
android:background="#ffffffff"
android:src="@drawable/liveview_logo"
android:layout_marginRight="5dip"/>
La respuesta de @Manolo Garcia es correcta. Eso me ayudó en la vista de imagen dinámica usando borde, Scale Type Center Crop y 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);
Puede dar borde configurando android:background="@drawable/edit_border"
Y tu 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>
<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" />
Solo necesitas agregar android:cropToPadding
android: cropToPadding = "true"
y luego el imageView respetará el relleno que elijas.