Wie kann ich eine kreisförmige Liste für runde Uhren wie in Android Wear 2.0 erstellen?Wie man kreisförmige Ansicht auf Android-Verschleiß erstellen?
So:
Kreisliste wird in Android Wear App Launcher gesehen.
Wie kann ich eine kreisförmige Liste für runde Uhren wie in Android Wear 2.0 erstellen?Wie man kreisförmige Ansicht auf Android-Verschleiß erstellen?
So:
Kreisliste wird in Android Wear App Launcher gesehen.
Dies ist jetzt mit Android Wear 2.0 WearableRecyclerView
möglich.
Nach Android Developer Docs:
Wear 2.0 führt die
WearableRecyclerView
Klasse für die Darstellung und eine vertikale Liste von Elementen für runde Displays optimiert manipulieren.WearableRecyclerView
erweitert die vorhandeneRecyclerView
Klasse auf bieten ein gebogenes Layout und eine kreisförmige Scroll-Geste in tragbaren Apps.
Sie möchten vielleicht mehr über Android Wear 2.0 Preview 3 lesen.
Leute, die diese Antwort ablehnen, bitte posten Sie Ihre Argumentation mindestens. Dies ist keine "Nur-Link" -Antwort. Er zitiert den relevanten Text aus dem Link. Und wenn Sie eine bessere Antwort haben, dann verstecken Sie sich bitte nicht hinter einer Abstimmung, sondern posten Sie sie als Antwort. – Sufian
Zuerst müssen Sie Ihre ListView durch eine WearableRecyclerView ersetzen. Es kann wie ein normales ListView verwendet werden. Aber stellen Sie sicher, Sie importieren Sie die richtige von android.support.wear.widget
. NICHT verwenden die von android.support.wearable.view
. Dieser sollte durchgestrichen sein, so dass es nicht lange dauern wird zu überprüfen, ob Sie den richtigen verwenden. Wenn nur ein WearableRecyclerView zur Auswahl steht, stellen Sie sicher, dass compile 'com.android.support:wear:27.0.0'
zu den Abhängigkeiten in Ihrer build.gradle (Verschleiß) Datei hinzugefügt wird. Stellen Sie außerdem sicher, dass Sie <android.support.wear.widget.WearableRecyclerView/>
in Ihrer activity.xml verwenden. Wenn Sie nur einen Kreislistview ohne benutzerdefinierten Elementskalierung wollen, rufen Sie einfach diese in Ihrem onLayoutInflated()
Methode:
your_recyclerview.setEdgeItemsCenteringEnabled(true);
your_recyclerview.setLayoutManager(new WearableLinearLayoutManager(your_activity_context));
Wenn Sie möchten Artikel Skalierung, wenn sie näher an der Mitte des Bildschirms zu bekommen, werden die Dinge ein bisschen komplizierter.
CustomScrollingLayoutCallback customScrollingLayoutCallback = new CustomScrollingLayoutCallback();
your_recycler_view.setLayoutManager(new WearableLinearLayoutManager(your_context, customScrollingLayoutCallback));
your_recycler_view.setCircularScrollingGestureEnabled(true);
getan:
Erstens: fügen Sie diese in Ihrem Activity.java: die folgenden
private class CustomScrollingLayoutCallback extends WearableLinearLayoutManager.LayoutCallback {
private static final float MAX_ICON_PROGRESS = 2F;
@Override
public void onLayoutFinished(View child, RecyclerView parent) {
float centerOffset = ((float) child.getHeight()/2.0f)/(float) parent.getHeight();
float yRelativeToCenterOffset = (child.getY()/parent.getHeight()) + centerOffset;
float progresstoCenter = (float) Math.sin(yRelativeToCenterOffset * Math.PI);
float mProgressToCenter = Math.abs(0.5f - yRelativeToCenterOffset);
mProgressToCenter = Math.min(mProgressToCenter, MAX_ICON_PROGRESS);
child.setScaleX(1 - mProgressToCenter);
child.setScaleY(1 - mProgressToCenter);
child.setX(+(1 - progresstoCenter) * 100);
}
}
dann auf Ihre onLayoutInflated zurück() Methode und geben.
Bitte überprüfen Sie diesen Blog-Artikel - http://android-developers.blogspot.com/2016/04/build-beautifully-for-android-wear.html – Sufian
Das wird nicht helfen, hat überprüft. BoxInsetLayout setzt eine quadratische Einfügung, aber hier sind die Elemente an der Kante ausgerichtet (auch die Bildlaufleiste ist kreisförmig) – adhiti