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

  • movies95

    movies95

    27 Kasım 2006
  • MultiPlayStationMan

    MultiPlaySta

    17 Aralık 2009
  • TheDailyTechDose

    TheDailyTech

    15 EKİM 2012