I NineOldAndroids' ObjectAnimators bin mit dem folgenden Code in Android Map v2 Marker verblassen:NineOldAndroids ObjectAnimators nicht mit ProGuard arbeiten und unterzeichnet apk
mMarkerSelected = mMap.addMarker(new MarkerOptions()
.position(location.getLatLng())
.title(location.getName())
.snippet(location.getId())
.icon(BitmapDescriptorFactory.defaultMarker(location.getMarkerHue())));
mMarkerSelected.setAlpha(0.0f);
ObjectAnimator.ofFloat(mMarkerSelected, "alpha", 0.0f, 1.f)
.setDuration(300).start();
Das funktioniert perfekt mit debug Versionen des apk.
Allerdings, wenn ich meine apk unterzeichnen und ProGuard verwenden, plötzlich Marker nicht verblasst in. Meine Vermutung ist, dass das Alpha-Attribut verschleiert wurde, so dass "alpha"
in ObjectAnimator.ofFloat
vorbei nicht mit dem verschleierten alpha Attribute Übereinstimmen von die Marker
. Wie kann ich die Animation bei der Verwendung von ProGuard nutzen?
Nur der Vollständigkeit halber, dies ist der einzige Inhalt meines proguard-rules.txt
-dontwarn com.squareup.okhttp.**
Vielen Dank! Ich ging mit '-keepclassmembers class com.google.android.gms.maps.model.Marker {*; } '. Können Sie die Antwort aktualisieren, oder sollte ich stattdessen meine persönliche Klasse behalten, die ObjectAnimator verwendet? – well
Sie können entweder tun, persönlich würde ich eine Klasse haben, um die Animation zu steuern, aber nicht die Markierer ist auch in Ordnung – Blundell