SORU
17 Mart 2010, ÇARŞAMBA


Nasıl köşeleri yuvarlatılmış bir İmageView yapmak

Android, bir İmageView varsayılan olarak bir dikdörtgen. Nasıl yuvarlak bir dikdörtgen (benim Bitmap 4 köşeleri yuvarlatılmış dikdörtgenler için klibi) İmageView miyim?

CEVAP
20 Temmuz 2010, Salı


Bu yanıt çok gecikti, ama bunun için çalışıyor herkes için, aşağıdaki kodu el ile resimlerinizin köşelerini yuvarlamak için yapabilirsiniz.

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

Bu benim kod değil, ama bunu kullandım ve harika çalışıyor. İmageHelper bir sınıf içinde bir yardımcı olarak kullandım ve biraz verilen bir görüntü için istiyorum yumuşatma miktarını geçmesi için genişletilmiş.

Son kod bu gibi görünüyor:

package com.company.app.utils;

import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.graphics.PorterDuffXfermode;
import android.graphics.Rect;
import android.graphics.RectF;
import android.graphics.Bitmap.Config;
import android.graphics.PorterDuff.Mode;

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;
    }
}

Bu kimse yardımcı olur umarım!

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • jeffisthecoolguy

    jeffisthecoo

    17 HAZİRAN 2013
  • technodromeband's channel

    technodromeb

    28 NİSAN 2011
  • FusioNGamiing

    FusioNGamiin

    10 Temmuz 2007