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?

  • Unterschiedliche Ansichten für Spinner und Spinner Artikel?
  • Android wie man mit asynctasks progressdialog arbeiten kann
  • Android Wikipedia Artikelsuche nicht richtig in meiner Webansicht anzeigen?
  • Wie man die Nummer Dialer Pad programmgesteuert in Android?
  • ScanResult Fähigkeiten Interpretation
  • Android SDK Manager, nur installiertes Paket anzeigen
  • Bildbeschreibung hier eingeben

  • Leere E-Mail-Feld von Firebase Auth User mit Facebook Login Integration (Firebase 3.0)
  • Äquivalent von CSS-Klassenselektoren für Android-Ansichten?
  • Rails api und native Mobile App Authentifizierung
  • Android WhatsApp Daten lesen
  • Stretchbild in ImageView
  • Der Intel x86 Emulator Beschleuniger (HAXM Installer) Revision 6.0.5 zeigt nicht kompatibel mit Windows
  • 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.