Ich möchte eine Reihe von RotateDrawable
Objekte verwenden, um ein zusammengesetztes Pendel zu animieren (so muss der Drehpunkt eines zweiten RotateDrawable
an einen Punkt auf einem ersten "RotateDrawable
" "angefügt" werden). Dies bedeutet, dass ich berechnen muss, wo ein Punkt im Zeichen nach einer Drehung ist. Es scheint keine Methoden zu geben, um den Drehpunkt einer RotateDrawable
zu bekommen oder zu setzen; kurz, wenn ich sie direkt aus XML abrufe, wenn das Ding aufgeblasen ist, kann ich mir keinen Weg vorstellen, dies zu tun.Wie bekomme ich den Drehpunkt von einem RotateDrawable programmgesteuert?
Antwort
die Pivot von XML beim Aufblasen Ersten kann ähnlich wie in einer Art und Weise geschehen:
//r is a Resources object containing the layout
//id is an integer from R.drawable
XmlPullParser parser = r.getXml(id);
AttributeSet attrs = Xml.asAttributeSet(parser);
float pivotX = attrs.getAttributeFloatValue("http://schemas.android.com/apk/res/android", "pivotX", 0.5f);
float pivotY = attrs.getAttributeFloatValue("http://schemas.android.com/apk/res/android", "pivotY", 0.5f);
//d is a RotateDrawable
d.inflate(r, parser, attrs);
Das Attribut sollte zwischen null und eins (falls vorhanden) und 0,5f ist der Standardwert von Android gesetzt, wenn Das Attribut ist nicht vorhanden.
http://idunnolol.com/android/drawables.html#rotate
WICHTIGER HINWEIS
Ich habe erkannt, es ist auch wichtig android:fromDegrees
und android:toDegrees
zu erhalten, wie wenn, wie ich, du bist onLevelChanged(int)
mit der Menge der Rotation zu bekommen, müssen Sie Wissen Sie, wie viel Rotation Sie tatsächlich bekommen. Dieselbe Methode funktioniert für diese Attribute. Die Standardwerte lauten 0.0f und 360.0f (in Grad). Level liegt zwischen 0 und 10.000, wobei 0 fromDegrees
und 10.000 entspricht toDegrees
entspricht.
- 1. RotateDrawable programmatisch in android
- 2. Wie bekomme ich nugget-Paket-Version programmgesteuert?
- 3. 4x4 Transformationsmatrix - Wie finde ich den Drehpunkt heraus?
- 4. Wie bekomme ich Inhalt des Renderings programmgesteuert?
- 5. Wie bekomme ich die SAS-Kodierungsoption programmgesteuert?
- 6. Wie bekomme ich den "alten Wert" von einem ReactiveCooco Signal?
- 7. Wie bekomme ich den HTTP_REFERER von einem Yahoo oder Gmail?
- 8. C#: Wie bekomme ich den Dokumenttitel von einem WebBrowser-Element?
- 9. Wie bekomme ich den Zeitzonennamen von einem Offset?
- 10. Wie bekomme ich den Wert von einem Textclock
- 11. Wie bekomme ich den Wochentag von einem Unix-Timestamp (PHP)?
- 12. Wie bekomme ich den Aktionsnamen von einem Basiscontroller?
- 13. Wie bekomme ich den letzten Index von "%" in einem String?
- 14. Wie bekomme ich den Fehlerwert von einem abonnierten RACSignal?
- 15. Android Wie bekomme ich den Wert von einem Switch richtig?
- 16. Wie bekomme ich den Druckerstatus?
- 17. Wie bekomme ich den Attributsatznamen?
- 18. Drehpunkt im Rechteck
- 19. Wie bekomme ich den Standort?
- 20. Wie bekomme ich den Programmnamen in Racket?
- 21. Wie bekomme ich den Batteriestatus?
- 22. Wie bekomme ich den Routennamen von RouteData?
- 23. Wie bekomme ich den Wert von Spinner
- 24. Wie bekomme ich den Hostnamen von Crossbar.io?
- 25. Wie bekomme ich OriginingClientIPAddress von den Headern?
- 26. Wie bekomme ich den Wert von @DiscriminatorColumn()?
- 27. Wie bekomme ich den Wert von @QueryParam
- 28. Wie bekomme ich Daten von einem Webformular?
- 29. Wie bekomme ich den Inhalt von Amazon Warenkorb?
- 30. Wie bekomme ich STDOUT von einem QProcess?
Ich habe mich dafür entschieden, einen Standard 'Drawable' zu verwenden, der sowieso eine' Bitmap' auf einem 'Canvas' anzeigt, da die' Matrix'-Klasse es einfacher macht, Übersetzungen zu programmieren (und die abhängigen Elemente eines Verbundpendels müssten) Übersetzen). –