studio programacion herramientas fundamentos con avanzado aplicaciones android imageview shape

android - programacion - Esquinas redondeadas en ImageView en la fila ListView



manual de android en pdf (1)

Puede usar un Cargador de Imágenes Universal.

https://github.com/nostra13/Android-Universal-Image-Loader .

Se puede usar para mostrar mapas de bits con esquinas redondeadas. Verifique el enlace de arriba.

En tu constructor de adaptador personalizado

File cacheDir = StorageUtils.getOwnCacheDirectory(a, "your folder"); // Get singletone instance of ImageLoader imageLoader = ImageLoader.getInstance(); // Create configuration for ImageLoader (all options are optional) ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(a) // You can pass your own memory cache implementation .discCache(new UnlimitedDiscCache(cacheDir)) // You can pass your own disc cache implementation .discCacheFileNameGenerator(new HashCodeFileNameGenerator()) .enableLogging() .build(); // Initialize ImageLoader with created configuration. Do it once. imageLoader.init(config); options = new DisplayImageOptions.Builder() .showStubImage(R.drawable.stub_id)//display stub image .cacheInMemory() .cacheOnDisc() .displayer(new RoundedBitmapDisplayer(20)) //rounded corner bitmap .build();

En su getView ()

ImageView image=(ImageView)vi.findViewById(R.id.imageview); imageLoader.displayImage(imageurl, image,options);//provide imageurl, imageview and options

Puede configurar con otras opciones para satisfacer sus necesidades.

Imagen de chicos de Romain con esquinas redondeadas @ http://www.curious-creature.org/2012/12/11/android-recipe-1-image-with-rounded-corners/

Encontrado a continuación @ ¿Cómo hacer un ImageView con esquinas redondeadas?

http://ruibm.com/?p=184 .

public class ImageHelper { public static Bitmap getRoundedCornerBitmap(Bitmap bitmap, int pixels) { Bitmap output = Bitmap.createBitmap(bitmap.getWidth(), bitmap .getHeight(), Config.ARGB_8888); Canvas canvas = new Canvas(output); final int color = 0xff424242; final Paint paint = new Paint(); final Rect rect = new Rect(0, 0, bitmap.getWidth(), bitmap.getHeight()); final RectF rectF = new RectF(rect); final float roundPx = pixels; paint.setAntiAlias(true); canvas.drawARGB(0, 0, 0, 0); paint.setColor(color); canvas.drawRoundRect(rectF, roundPx, roundPx, paint); paint.setXfermode(new PorterDuffXfermode(Mode.SRC_IN)); canvas.drawBitmap(bitmap, rect, rect, paint); return output; } }

Tengo un icono de usuario en cada fila en una vista de ascensor. Me gustaría una esquina redondeada. Esto es lo que tengo y no hace nada:

<ImageView android:background="@drawable/profile_widget_selector" android:id="@+id/ivTopUserPP" android:layout_width="65dp" android:layout_height="65dp" android:baselineAlignBottom="@drawable/profile_pic_shape" android:src="@drawable/usericon" />

profile_pic_shape.xml

<?xml version="1.0" encoding="UTF-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" > <solid android:color="#bbbbbb" /> <stroke android:width="1dp" android:color="#bbb" /> <padding android:bottom="1dp" android:left="1dp" android:right="1dp" android:top="1dp" /> <corners android:topLeftRadius="40dp" /> </shape>