2016-09-28 7 views
1

学習目的のために、アプリケーションアイコンをグリッド上にドラッグすると、ノーバランチャーでシャドウイメージがどのように作成されるかを知りたいです。私はGoogleで一日中検索しましたが、提案を見つけることができないので、どのように描かれているか知っていれば、より役に立ちます。事前にアンドロイドでアイコンシャドウを作成する方法

shadow example 1 shadow example 2

感謝。

編集: ビット学習を行った後、以下のコードで達成することができました。

public static Bitmap getShadowBitmap(Bitmap src) { 
    Bitmap bmOut = Bitmap.createBitmap(src.getWidth(), 
      src.getHeight(), Bitmap.Config.ARGB_8888); 
    Canvas canvas = new Canvas(bmOut); 
    canvas.drawColor(0, PorterDuff.Mode.CLEAR); 

    Paint ptBlur = new Paint(); 
    ptBlur.setMaskFilter(new BlurMaskFilter(5, BlurMaskFilter.Blur.NORMAL)); 
    int[] offsetXY = new int[2]; 
    Bitmap bmAlpha = src.extractAlpha(ptBlur, offsetXY); 
    Paint ptAlphaColor = new Paint(); 
    ptAlphaColor.setColor(Color.WHITE); 
    canvas.drawBitmap(bmAlpha, offsetXY[0], offsetXY[1], ptAlphaColor); 
    bmAlpha.recycle(); 

    Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG); 
    paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_OUT)); 
    paint.setColor(Color.TRANSPARENT); 

    paint.setAlpha(0); 

    canvas.drawBitmap(src, 0, 0, paint); 

    return bmOut; 
} 

結果: enter image description here

答えて

0

あなたは画像アイコンの境界を取得するためにキャンバスを使用することができ、キャンバス上のパスを使用して、所望の色のアウトラインを作成することができたり、あなたが取得するには以下のようないくつかのライブラリを使用することができますそれがどのように機能しているかのアイデア。

https://github.com/DevLight-Mobile-Agency/ShadowLayout

+0

あなたのクイックリプレイのおかげで@Niteshを、私はShadowLayoutライブラリについて詳細にチェックします。 – sreeramu

関連する問題