2012-08-28 19 views
6

Wie bekomme ich diesen blau leuchtenden Effekt über ein Symbol? Gibt es einen schnellen Weg, es zu tun? Ich möchte wirklich Photoshop für diesen Effekt nicht verwenden.Android - Wie man ein Symbol bei Berührung zum Leuchten bringt?

Jede Hilfe würde wirklich geschätzt werden.

+0

Sie haben von statelistdrawables zu machen, in dem Sie den blauen effect.Please definieren Besuchen Sie den Thread http://stackoverflow.com/questions/6501716/android-how-to-create-a-statelistdrawable-programmatic oder Sie können http://developer.android.com/guide/topics/resources/ besuchen drawable-resource.html –

Antwort

21

Wenn Sie die Glut programmatisch erstellt werden soll, ist hier, wie Sie tun können. Mein Rat, erzeugen sie nur einmal am beggining Ihrer Tätigkeit, dann erstellen Sie eine StateListDrawable es verwendet wird, wie im Kommentar sagte:

// An added margin to the initial image 
    int margin = 24; 
    int halfMargin = margin/2; 

    // the glow radius 
    int glowRadius = 16; 

    // the glow color 
    int glowColor = Color.rgb(0, 192, 255); 

    // The original image to use 
    Bitmap src = BitmapFactory.decodeResource(getResources(), 
      R.drawable.ic_launcher); 

    // extract the alpha from the source image 
    Bitmap alpha = src.extractAlpha(); 

    // The output bitmap (with the icon + glow) 
    Bitmap bmp = Bitmap.createBitmap(src.getWidth() + margin, 
      src.getHeight() + margin, Bitmap.Config.ARGB_8888); 

    // The canvas to paint on the image 
    Canvas canvas = new Canvas(bmp); 

    Paint paint = new Paint(); 
    paint.setColor(glowColor); 

    // outer glow 
    paint.setMaskFilter(new BlurMaskFilter(glowRadius, Blur.OUTER)); 
    canvas.drawBitmap(alpha, halfMargin, halfMargin, paint); 

    // original icon 
    canvas.drawBitmap(src, halfMargin, halfMargin, null); 

    ((ImageView) findViewById(R.id.bmpImg)).setImageBitmap(bmp); 
+0

Ich mag die Art, wie Sie das Zeug mit Kommentaren erklärt haben. Vielen Dank. – Varundroid