2012-10-20 16 views
11

Mam recentrly spróbował niestandardową Toast po tutorialu:Tworzenie pełnoekranowy niestandardową Toast

http://developer.android.com/guide/topics/ui/notifiers/toasts.html#CustomToastView

Z takiego układu:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
       android:id="@+id/toast_layout_root" 
       android:orientation="horizontal" 
       android:layout_width="fill_parent" 
       android:layout_height="fill_parent" 
       android:padding="8dp" 
       android:background="#DAAA" 
       > 
    <ImageView android:src="@drawable/droid" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_marginRight="8dp" 
       /> 
    <TextView android:id="@+id/text" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:textColor="#FFF" 
       /> 
</LinearLayout> 

Ale wydaje się, że fill_parent w układzie korzenia nie ma żadnego efektu.

Czy masz pomysł, w jaki sposób mogę to naprawić, aby uzyskać pełnoekranowy toast?

Odpowiedz

19

Dodaj to zanim pokazać Toast:

toast.setGravity(Gravity.FILL, 0, 0); 
1

Aby całkowicie wypełnić toast poziomej i pionowej w wielkości jego kontenera trzeba użyć

Gravity.FILL jak wspomniano w odpowiedzi Yoah użytkownika.

Próbowałem wykonać i zadziałało.

Toast toast = new Toast(getApplicationContext()); 
toast.setGravity(Gravity.FILL, 0, 0); 
toast.setView(view); //inflated view 
toast.setDuration(Toast.LENGTH_LONG); 
toast.show();