2015-10-08 6 views
5

Questa è la mia definizione FAB:Libreria di supporto Android FloatingActionButton - riempimento su dispositivi pre-lecca-lecca?

<android.support.design.widget.FloatingActionButton 
     android:id="@+id/button_capture_action_show_options" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="bottom|right" 
     android:layout_margin="16dp" 
     android:focusable="true" 
     android:src="@drawable/c" 

Sembra che ci sia qualche chilo in più se fusi su dispositivi pre-lecca-lecca e io non riesco a essere in grado di rimuoverlo. il rendering

Lollipop:

lollipop

resa Pre-lecca:

pre-lollipop

Eventuali suggerimenti molto apprezzato ..

+0

Hai trovato la risposta? Si prega di condividere qui in modo che sarà utile per noi che si trovano ad affrontare lo stesso problema. –

+0

Nessuna risposta ancora - l'ho parcheggiato per ora .. Penso che dovrò semplicemente regolare manualmente il padding per i dispositivi pre-lollipop ... che fa schifo .. – vkislicins

risposta

0

Quindi io ancora non so se c'è un modo 'ufficiale' per fare questo, ma ho finito per fare quanto segue:

 if (!isLollipopAndAbove()) { 
      RelativeLayout.LayoutParams params = (RelativeLayout.LayoutParams) tab.getLayoutParams(); 
      params.setMargins(0, 0, 0, 0); 
      tab.setLayoutParams(params); 
     } 

oh e sì che non era margine di riempimento che doveva essere cambiato

3

Questo è a causa del modo in cui imbottitura è implementato nel FAB su dispositivi pre-lecca-lecca.

Non c'è modo che io conosca per rimuoverlo sulla pre-Lollipop, ma è possibile renderlo coerente (cioè aumentare l'imbottitura sulla Lollipop in su) impostando app:useCompatPadding="true" sul FAB nella definizione di layout, oppure utilizzando setUseCompatPadding.

Si comporta in questo modo a causa del modo in cui vengono disegnate le ombre.