Ombra di goccia di Android ImageView

Sto provando ad aggiungere un'ombra di goccia ad un ImageView. L'altra risposta di Stackoverflow sembra essere quella di utilizzare canvasi e bitmap, in modo più complicato di quello che deve essere.

Su iOS vorrei fare qualcosa di simile:

  • Android "Sovrapposizione dello schermo rilevato" se l'utente sta tentando di concedere una licenza quando viene mostrata una notifica
  • C'è un modo per avere gli URL e i numbers di telefono auto-link WebView in Android?
  • Cercando di avviare un servizio all'avvio su Android
  • Antialiasing su canvas con accelerazione hardware (API Android 11 e successive)
  • Rileva l'attività dell'utente (in esecuzione, in bicicletta, in guida) utilizzando Android
  • Come aprire l'attività come una window di dialogo con ActionBar
  • myImageView.layer.shadowColor = [UIColor redColor].CGColor; myImageView.layer.shadowRadius = 5; myImageView.layer.shadowOffset = CGRectMake(0, 5); 

    e renderebbe un'ombra di goccia, indipendentemente dal fatto che l'ombra venga applicata in una vista, un'image o un text.

    Ho provato a fare lo stesso su Android, ma semplicemente rifiuta di lavorare:

     birdImageView = new ImageView(context); birdImageView.setImageResource(R.drawable.yellow_bird); Paint paint = new Paint(); paint.setAntiAlias(true); birdImageView.setLayerType(LAYER_TYPE_SOFTWARE, null); paint.setShadowLayer(5, 0, 5, Color.argb(255, 255, 0, 0)); birdImageView.setLayerPaint(paint); 

    Non vedo alcuna ombra di caduta rossa prevista per l'image di uccello a tutti.

    Sto facendo qualcosa di sbagliato?

    Esempio

    Diciamo che voglio l'ombra di goccia come questo:

    esempio di ombra di goccia

    Aggiornare

    Devo ricorrere a Android 5.0 e al nuovo Elevation api ( http://developer.android.com/training/material/shadows-clipping.html )?

    Ma se si wheresse utilizzare una nuova API, secondo la demografia attuale ( http://www.droid-life.com/2016/02/02/android-distribution-february-2016/ ) più del 50% degli utenti non essere in grado di utilizzare l'applicazione.

    T_T

  • HTML5 SQLite vs database nativo in caso di PhoneGap
  • in android, anteprima della telecamera in streaming su una vista
  • IBM Worklight 5.0.5 - Riproduce il suono personalizzato nella notifica push
  • UnsupportedOperationException con ArrayAdapter.remove
  • Determinare quale frammento è attualmente visibile in ViewPager
  • Android: La query del resolver di contenuto restituisce 0 righe quando non dovrebbe
  • One Solution collect form web for “Ombra di goccia di Android ImageView”

    In studio android è in build drawable che è ansible utilizzare per applicare ombra a qualsiasi View . È simile a un'ombra di goccia.

     android:background="@drawable/abc_menu_dropdown_panel_holo_light" 

    Utilizzando questo non è ansible modificare il colore di background della vista e il suo colore di bordo. Se si desidera disegnare personalmente il proprio utilizzo layer-list utilizzare l' layer-list

    custom_drop_shadow_drawable.xml

     <?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <!--the shadow comes from here--> <item android:bottom="0dp" android:drawable="@android:drawable/dialog_holo_light_frame" android:left="0dp" android:right="0dp" android:top="0dp"> </item> <item android:bottom="0dp" android:left="0dp" android:right="0dp" android:top="0dp"> <!--whatever you want in the background, here i preferred solid white --> <shape android:shape="rectangle"> <solid android:color="@android:color/red" /> </shape> </item> </layer-list> 

    e si applica alla tua vista come sotto

     android:background="@drawable/custom_drop_shadow_drawable" 

    Spero che ti aiuterà!

    L'Android è un fan Android di Google, tutto su telefoni Android, Android Wear, Android Dev e applicazioni Android Games e così via.