8

Questo semplice pezzo di codice non funzionerà come previsto con proguard abilitato:FloatingActionButton con Bar in e CoordinatorLayout non funzionerà con proguard

<?xml version="1.0" encoding="utf-8"?> 
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:id="@+id/coordinator_layout" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

    <Button 
     android:id="@+id/show" 
     android:layout_width="200dp" 
     android:layout_height="wrap_content" 
     android:layout_gravity="top" 
     android:layout_marginTop="40dp" 
     android:text="Show snackbar" /> 


    <android.support.design.widget.FloatingActionButton 
     android:id="@+id/fab" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="bottom|right" 
     android:layout_margin="16dp" 
     android:src="@drawable/ic_save_white_24dp" 
     app:layout_anchorGravity="bottom|right|end" /> 


</android.support.design.widget.CoordinatorLayout> 

comportamento desiderato è avere FloatingActionButton spinto oltre SnackBar quando viene mostrato, ma non succede finché non disattivo proguard.

Nessun tutorial copre anche questo come i nuovi progetti è Proguard disabilitato per impostazione predefinita;)

Qualcuno sa la configurazione Proguard per il Design Support Library?

risposta

6

Prova questo:

# support design 
-dontwarn android.support.design.** 
-keep class android.support.design.** { *; } 
-keep interface android.support.design.** { *; } 
-keep public class android.support.design.R$* { *; } 
+0

Non funziona per me. Per favore controlla questa domanda [Il tema predefinito non funziona dopo abilitare il file Proguard] (http://stackoverflow.com/questions/35340610/default-theme-is-not-working-after-enable-proguard-fileminifyenabled-true) –

3

Google ha risolto questo bug con configurazione ProGuard incorporato nel AAR. Basta aggiornare la dipendenza della libreria di progettazione a 23+ in build.gradle.

Problemi correlati