2015-01-14 4 views
10

ich nach einer Möglichkeit, den Alarm-Dialog im Rahmen Anwendung von Android Wear neu zu erstellen:Zeige Android Wear Stil Alertdialog

expected

Welche Swipe zu dismissable ist.

Aber anstatt, was ich habe, ist dies:

actual

Nur ein Barebone Android-Dialog. Wie kann ich den AlertDialog im Stil Settings.apk anzeigen? (Was ich denke, muss Standard für Android Wear-Anwendung sein)

Antwort

5

Ich fand keine Standardmethode, dies zu tun, auch eine benutzerdefinierte Ansicht zu einem AlertDialog einstellen sah nicht gut aus. Du kannst es trotzdem versuchen, vielleicht funktioniert ein anderes Theme.

Was ich tat, war ein neues Activity schaffen und mein eigenes Layout erstellen, die wie folgt aussieht:

<?xml version="1.0" encoding="utf-8"?> 
<android.support.wearable.view.BoxInsetLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:gravity="center" 
     android:orientation="vertical" 
     android:padding="10dp" 
     app:layout_box="all"> 

     <TextView 
      android:id="@+id/tv_longtext" 
      android:layout_width="match_parent" 
      android:layout_height="0sp" 
      android:layout_weight="1" 
      android:fontFamily="sans-serif-condensed" 
      android:gravity="bottom" 
      android:padding="5sp" 
      android:text="Ambient screen reduces battery life." 
      android:textSize="16sp" /> 

     <TextView 
      android:id="@+id/tv_question" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:fontFamily="sans-serif-condensed" 
      android:gravity="center_horizontal|top" 
      android:paddingBottom="15sp" 
      android:paddingTop="5sp" 
      android:text="Turn on?" 
      android:textSize="18sp" /> 

     <FrameLayout 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:padding="5sp"> 

      <android.support.wearable.view.CircledImageView 
       android:id="@+id/btn_cancel" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_gravity="left|bottom" 
       android:src="@drawable/ic_cross" 
       app:circle_color="#AFAFAF" 
       app:circle_radius="25dp" 
       app:circle_radius_pressed="20dp" /> 

      <android.support.wearable.view.CircledImageView 
       android:id="@+id/btn_ok" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_gravity="right|bottom" 
       android:src="@drawable/ic_tick" 
       app:circle_color="#0EB695" 
       app:circle_radius="25dp" 
       app:circle_radius_pressed="20dp" /> 
     </FrameLayout> 
    </LinearLayout> 
</android.support.wearable.view.BoxInsetLayout> 

Es sieht genauso aus wie der Bestätigungsbildschirm aus den Einstellungen. Vielleicht braucht es noch ein paar Verbesserungen, aber ich denke, das ist der richtige Weg.