Wie nennt man die Information, dass eine Karte angezeigt wird und in welcher Höhe sie angezeigt wird?Android watchface: Wie kann man wissen, ob eine Peek-Karte angezeigt wird und in welcher Höhe?
Ich arbeite an einer symmetrischen ternären Uhr, und ich möchte die Größe abhängig von Karten ändern.
Edit: Ich habe eine Lösung gefunden.
// detect the height of a card. And call resizers.
// baseLedge is the default bottom of the watch
// tallness is the height of the display
// tallable is the portion of the screen height offered to the face.
// ledge is the adjusted bottom of the watch
// ledgeSpace is a desired margin above the ledge
// puff is the ratio of the adjusted display to the standard display
// puffer() is a module (or method or whatever the correct term is) that applies the resizing.
// no clue what the Override wrapper does or how it work.
@Override
// Rect -> none
public void onPeekCardPositionUpdate(Rect bounds) {
super.onPeekCardPositionUpdate(bounds);
if (!bounds.equals(mCardBounds)) {
mCardBounds.set(bounds);
if (bounds.top == 0){bounds.top = (int)tallness;}
if (bounds.top < baseLedge || ledge != baseLedge) {
ledge = Math.min(bounds.top, baseLedge);
puff = (ledge - dispTop -)/tallable;
if (puff < (float).25) {puff = (float).25; }
puffer();
}
invalidate(); // redraw screen without updating time.
}
}
Anmerkung: eine Flagge machen und die Höhe den folgenden Code finden konnten in onPeekCardPositionUpdate()
yesCard = bounds.top != (int)0; // boolean that will be true if a card is showing.
cardHeight = (float)bounds.top;
Danke, ich fragte nach Peek-Karten. Ich bin neu in Java und Android, so dass mir die Entwickler nicht so viel helfen. Ich wünschte, sie böten mehr Code-Beispiele, oder ich wäre besser darin, die Code-Beispiele zu finden, die sie anbieten. – kjl
Ich habe einen Beispielcode gefunden, der für mich bei https://github.com/googlesamples/android-WatchFace/blob/master/Wearable/src/main/java/com/example/android/wearable/watchface/CardBoundsWatchFaceService funktioniert hat. Java – kjl