2014-10-28 7 views
14

Próbowałem wszystkiego, aby to zadziałało i nie mogę tego rozgryźć.Okno dialogowe alertów systemu Android nie jest poprawnie oznaczone stylem na Lollipop

Próbuję użyć okna alertu w mojej aplikacji. Działa dobrze na KitKat, ale nie na Lollipop.

Próbowałem nawet używać wielu dialogów materiałowych na GitHub i znowu pracują na KitKat, ale nie na Lollipop.

Testuję na moim Nexusie 5 z fabrycznym obrazem nexusa.

KitKat WITH GitHub MATERIAŁ DIALOG

enter image description here

KitKat z Zdjęcie ALERT DIALOG

enter image description here

lizak z GitHub MATERIAŁ DIALOG

enter image description here

lizak z STOCK ALERT DIALOG

enter image description here

Również w tym miejscu jest biblioteka zainstalowany na tym samym urządzeniu jej nie działa na github. A więc coś, co powoduje moją aplikację. co to może być

enter image description here

+1

Ok. jeśli znalazłeś problem, ale nie wiesz, jak to naprawić. Mam fitsSystemWindows ustawione na true w moich stylach. Po usunięciu okna dialogowe są dobre. Ale nie mój układ jest pomieszany :( – Bignadad

Odpowiedz

25

android: fitsSystemWindows = "true" był winowajcą.

Mam to zadeklarowane w moim styles.xml.

Usunięto go z pliku styles.xml i umieszczono w moim układzie, a teraz działa.

+0

Nadal borykałem się z dziwnymi problemami stylu na Lollipop dla mojego 'EditText' (wewnątrz niestandardowego widoku, który ustawiłem) pomimo podążania za twoją sugestią.Naprawa miała ustawić' fitsSystemWindows' na false na o nazwie "EditText" Ponadto można pominąć dopełnienie w niestandardowym widoku, używając zamiast tego marginesów, gdzie to możliwe, by rozwiązać problem: – Jun

+2

FYI. Jeśli fitsSystemWindows został zastosowany do stylu, który został następnie zastosowany jako motyw w działaniu (lub cała aplikacja), następnie ten atrybut zostanie zastosowany do KAŻDEGO widoku tego działania lub aplikacji.Nazwa: http://developer.android.com/guide/topics/ui/themes.html#ApplyingStyles. Ponieważ okno dialogowe ma Własne okno, jeśli masz okno dialogowe poza Aktywnością (lub Aplikacją), to będzie miało zastosowany ten atrybut, a tekst zostanie rozwinięty, aby dopasować się do okna. Przynajmniej jestem prawie pewien, że działo się to w moim przypadku. :) – stuckj

+0

Zapisane moje dzień :) –

0

Miałem ten sam problem i nie znalazłem żadnych pasowańSystemWindows na żadnym z moich styles.xml.

go rozwiązać musiałem zawijać układu w FrameLayout i dodać marginesy do układu tak:

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content"> 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:layout_marginTop="@dimen/dialog_margin_title" 
     android:layout_marginBottom="@dimen/dialog_margin" 
     android:layout_marginLeft="@dimen/dialog_margin" 
     android:layout_marginStart="@dimen/dialog_margin" 
     android:layout_marginRight="@dimen/dialog_margin" 
     android:layout_marginEnd="@dimen/dialog_margin" 
     android:orientation="vertical"> 

     <TextView 
      android:id="@+id/textView" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="Please enter the email address of the person you would like to follow, this person will be notified." /> 

     <EditText 
      android:id="@+id/editText" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:ems="10" 
      android:inputType="textEmailAddress" /> 
    </LinearLayout> 
</FrameLayout> 
Powiązane problemy