2012-10-20 3 views
11

Я recentrly попробовал пользовательский Тост после урока:Создание полноэкранного пользовательского Тост

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

С такой макет:

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

Но, похоже, что fill_parent в макете корневой не имеет никакого эффекта.

У вас есть идея, как я могу это исправить, чтобы получить полноэкранный тост?

ответ

19

Добавить это, прежде чем показать Тост:

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

Чтобы полностью заполнить тост горизонтального и вертикального размера его контейнера нужно использовать

Gravity.FILL, как указано в ответе Yoah в.

Я пробовал следовать, и это сработало.

Toast toast = new Toast(getApplicationContext()); 
toast.setGravity(Gravity.FILL, 0, 0); 
toast.setView(view); //inflated view 
toast.setDuration(Toast.LENGTH_LONG); 
toast.show(); 
Смежные вопросы