Hinzufügen von zusätzlichen Bildern / Icons zu CardFragment (Android Wear)

Ich schaue dieses Beispielbild von Google an und versuche herauszufinden, wie man so etwas implementiert.

Es sieht sehr ähnlich wie das Standard CardFragment Layout, das einen Titel, eine Beschreibung und ein Symbol aufnimmt. Aber ich sehe eine zusätzliche Uhr Bild / Animation auf der linken Seite, die mich denken, sie verwenden ein benutzerdefiniertes Layout. Ist das mit einem Standard CardFragment ? Oder gibt es eine weitere Bequemlichkeitsklasse, die Unterstützung für mehrere Icons erlaubt?

  • Verwenden Sie JsonReader.setLenient (true), um fehlerhaftes JSON in Zeile 1 Spalte 1 Pfad $ zu akzeptieren
  • So lesen / schreiben String aus einer Datei in Android
  • Benutzerdefinierte Listview Fast Scrollbar in Android
  • Wie kann ich die Softtastatur in einem Webview mit einem USB-HID-Gerät anzeigen, wenn eine Schaltfläche angeklickt wird und eine Eingabe fokussiert ist?
  • Android, machen Sie ein Bild an einer URL gleich ImageViews Bild
  • Android ACTION_DATE_CHANGED ausgestrahlt
  • Bildbeschreibung hier eingeben

  • Crash auf Samsung-Geräten für EditText mit Links
  • Laden Sie ein Bild aus dem Assetsordner
  • RecyclerAnzeigen Sie verschiedene itemDecoration für verschiedene Einzelteile
  • Phonegap Geolocation manchmal nicht auf Android zu arbeiten
  • Konnte alle Abhängigkeiten für die Konfiguration nicht lösen: _armv7DebugCompile '
  • Wie analysiere ich JSON aus einer Java HTTPResponse?
  • 2 Solutions collect form web for “Hinzufügen von zusätzlichen Bildern / Icons zu CardFragment (Android Wear)”

    Ich habe dies durch die Erweiterung der CardFragment und onCreateContentView :

     @Override public View onCreateContentView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { mRootView = (ViewGroup) inflater.inflate(R.layout.fragment_my_card, null); ... } 

    Damit können Sie kontrollieren, was auf der weißen Karte geht.

    Das Beispielbild, das Sie anzeigen, ist eigentlich eine benutzerdefinierte Benachrichtigung. Sie müssen sich hier mit Android Wear-Benachrichtigungen vertraut machen:

    Benutzerdefinierte Benachrichtigungen

    Diese Übung ist ein bisschen langwierig, also werde ich versuchen, kurz, aber prägnant zu sein.

    1) Zuerst müssen Sie ein benutzerdefiniertes Benachrichtigungslayout definieren, das das Aussehen der Benachrichtigung in einer XML-Layoutdatei definiert. Um das Beispiel von Google zu duplizieren, definieren Sie ein XML-Layout, das eine ImageView für den zirkulären Fortschrittszeitgeber und zwei Textfelder für die Trainingsbeschreibungen enthält:

     <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="horizontal"> <ImageView ... </> <RelativeLayout android:layout_marginStart="20dp" android:layout_width="match_parent" android:layout_height="match_parent" xmlns:android="http://schemas.android.com/apk/res/android"> <TextView ... </> <TextView ... </> </RelativeLayout> 

    2) Erstellen Sie eine Klasse CircularTimer.class, die die Drawable API erweitert. Diese Klasse sollte eine start () und stop () -Methoden implementieren, um den Countdown des Timers zu behandeln. Die Drawable API ist außerhalb des Spielraums für diese Übung, aber Sie können mehr herausfinden, indem Sie das Web auf Fortschrittsbalken suchen. Für die Kürze ist hier ein Beispiel:

     public class CircularTimer() extends Drawable { ... public CircularTimer(int maxValue) { ... } @Override public void onDraw(Canvas canvas) { // Use drawCircle(), drawArc() to draw a circle and pie bar // Use drawText to draw the timeout value in center of circle } ... } 

    4) Erstellen Sie eine Klasse WorkoutCustomView.class und legen Sie ihre Inhaltsansicht auf Ihr zuvor definiertes XML fest. Holen Sie sich einen Verweis auf Ihre ImageView und legen Sie ein Zeichenobjekt für die setImageDrawable () – Methode fest. Beispielsweise:

     mImageView = (ImageView) findViewById(R.id.imageview); mCircularTimer = new CircularTimer(60); // 60s countdown mImageView.setImageDrawable(mCircularTimer); 

    3) richten Sie Ihre grundlegende Benachrichtigung ein:

     NotificationCompat.Builder builder = new NotificationCompat.Builder(this) .setContentTitle("Workout") .setContentText("Push Ups") .setSmallIcon(R.drawable.ic_bicep); 

    4) Erstellen Sie eine Absicht und ausstehende Absicht, die durch die benutzerdefinierte Benachrichtigung gestartet werden:

     Intent i = new Intent(this, WorkoutCustomView.class); PendingIntent pi = PendingIntent.getActivity(this, 0, i, PendingIntent.FLAG_UPDATE_CURRENT); 

    5) Setzt das anstehende Zielobjekt für die setDisplayIntent () – Methode der WearableExtender-Klasse:

      NotificationCompat.WearableExtender we = new NotificationCompat.WearableExtender() .setDisplayIntent(pi); // Add wearable specific features builder.extend(wearableExtender); 

    6) Versenden Sie Ihre Benachrichtigung

     NotificationManagerCompat notificationManager = NotificationManagerCompat.from(this); notificationManager.notify(NOTIFICATION_ID, builder.build()); 

    Hoffe das hilft!

    Für weitere Lesung, Kasse http://www.learnandroidwear.com/wear-custom-notification . Der Autor hat tatsächlich ein genaues Replizieren des Beispiels implementiert.

    Andrew

    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.