2016-07-26 20 views
1

Ich habe versucht, einen Vollbild-Alarmdialog zu machen. Aber ich habe dieses ScreenShot bekommen. Bitte helfen Sie mir, es zu verbessern, um den Bildschirm voll zu füllen. Ich habe viele Fragen gelesen, aber ich konnte dieses Problem nicht lösen.Erstellen Sie einen Vollbildmodus alertDialog

Hier ist mein Code:

// AlertDialog Builder 
    AlertDialog.Builder bmneu = new AlertDialog.Builder(this, android.R.style.Theme_Translucent_NoTitleBar_Fullscreen); 

    // Inflate 
    LayoutInflater inflate = this.getLayoutInflater(); 

    // View 
    View v = inflate.inflate(R.layout.help_archive, null); 

    // Assign view to AlertDialogBuilder 
    bmneu.setView(v); 

    // Alert Dialog 
    AlertDialog alertHelp = bmneu.create(); 

    // Show AlertDialog 
    alertHelp.show(); 

xml-Code (help_archive.xml):

<?xml version="1.0" encoding="utf-8"?> 
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/scrollView1" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:background="#40e9e2f7" > 

<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" > 

    <TextView 
     android:id="@+id/txtHelpArchive1" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:text="در این قسمت بایگانی از موارد خمسی ذخیره شده را مشاهده می کنید." 
     android:gravity="right" 
     android:padding="10dp" 
     android:textColor="#ffffff" 
     android:background="@android:color/transparent" /> 

    <ImageView 
     android:id="@+id/imgHelpArchive1" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:src="@drawable/help_archive1" 
     android:padding="10dp" /> 

    <TextView 
     android:id="@+id/txtArchive2" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:text="تاریخ سال خمسی با مشخص بودن، شمسی و یا قمری بودن سال، مشخص شده است. در سمت چپ تصویر نیز برای حذف، تعبیه شده است." 
     android:gravity="right" 
     android:padding="10dp" 
     android:textColor="#ffffff" 
     android:background="@android:color/transparent" /> 

    <ImageView 
     android:id="@+id/imgHelpArchive2" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:src="@drawable/help_archive2" 
     android:padding="10dp" /> 

    <TextView 
     android:id="@+id/txtHelpArchive3" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:text="با فشردن کلیدهای زیر می توانید، می توانید مواردی را که قبلا ذخیره کرده اید، مشاهده و یا ارسال کنید." 
     android:gravity="right" 
     android:padding="10dp" 
     android:textColor="#ffffff" 
     android:background="@android:color/transparent" /> 

    <ImageView 
     android:id="@+id/imgHelpArchive3" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:src="@drawable/help_archive3" 
     android:padding="10dp" /> 

</LinearLayout> 
</ScrollView> 

Dank.

+0

Try MarginTop/unten auf Null in Ihrem Layout 'help_archive' zu ​​setzen. Wenn dies nicht funktioniert, versuchen Sie, auf bmneu zu setzen. –

+0

In meinem Layout sind die Ränder Null. Wie setze ich bmenu? –

+0

Was sind die Werte in Ihrer help_archive Layout-Datei – andre3wap

Antwort

1

Was Sie tun können, ist eine benutzerdefinierte erstellen Dialog erstreckt DialogFragment und auf onStart() -Methode auf die folgenden:

@Override 
    public void onStart() { 
     super.onStart(); 

     int height = (int)(getResources().getDisplayMetrics().heightPixels); 
     int width = (int)(getResources().getDisplayMetrics().widthPixels); 

     getDialog().getWindow().setLayout(width, height); 
    } 

hoffe, das hilft! Lass es mich wissen, wenn ich nicht klar genug bin.

0

Vielleicht wird dies nützlich sein:

  AlertDialog.Builder bmneu = new AlertDialog.Builder(this, android.R.style.Theme_Translucent_NoTitleBar_Fullscreen); 

      // Inflate 
      LayoutInflater inflate = getLayoutInflater(); 

      // View 
      View v = inflate.inflate(R.layout.help_archive, null); 

      // Assign view to AlertDialogBuilder 
      bmneu.setView(v); 


      // Alert Dialog 
      AlertDialog alertHelp = bmneu.create(); 

      // Show AlertDialog 
      alertHelp.show(); 

      ScrollView.LayoutParams params = (ScrollView.LayoutParams) v.getLayoutParams(); 
      params.height = getResources().getDisplayMetrics().heightPixels; 
      params.width = getResources().getDisplayMetrics().widthPixels; 
      v.setLayoutParams(params); 

Der letzte Block von Code legt die Breite und Höhe der Ansicht (in einem Dialog)

So, nachdem zeigen Sie den folgenden Code setzen alertHelp.show() (nicht vergessen dass v ist Ihr Layout):

  ScrollView.LayoutParams params = (ScrollView.LayoutParams) v.getLayoutParams(); 
      params.height = getResources().getDisplayMetrics().heightPixels; 
      params.width = getResources().getDisplayMetrics().widthPixels; 
      v.setLayoutParams(params); 
+0

Ich bekomme Laufzeit Fehler durch dieses versuchen! –

+0

Sorry, ich habe meinen Fehler bearbeitet. –

+0

Entschuldigung. Es konnte nicht helfen. Ich denke ein alertDialog kann nicht Vollbild sein! –