2015-01-14 19 views
10

Szukam sposobu, aby odtworzyć okno alertu w aplikacji Ustawienia Android Wear:Pokazuje Android Wear styl AlertDialog

expected

Jakie jest przesunięcie w dismissable.

Ale zamiast tego, co mam jest to:

actual

Tylko barebone dialogowe Android. Jak mogę wyświetlić AlertDialog w stylu Settings.apk? (Które według mnie musi być domyślne dla aplikacji Android Wear)

Odpowiedz

5

Nie znalazłem domyślnego sposobu, aby to zrobić, również ustawienie niestandardowego widoku AlertDialog nie wyglądało dobrze. Nadal możesz spróbować, może działa inny temat.

Co zrobiłem było utworzyć nowy Activity i stworzyć własny układ, który wygląda tak:

<?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> 

wygląda tak jak na ekranie potwierdzenie od ustawień. Być może nadal wymaga pewnych poprawek, ale myślę, że to jest droga.