2016-07-26 5 views
1

전체 화면 경고 대화 상자를 만들려고했습니다. 그러나 나는 이것을 얻었습니다 ScreenShot. 화면을 가득 채울 수 있도록 도와주세요. 나는 많은 질문을 읽었지 만, 나는이 문제를 해결할 수 없었다.전체 화면 alertDialog 만들기

// 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 코드 (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> 

감사

여기 내 코드입니다. 이 도움이

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

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

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

희망 : 당신이 할 수있는 일

+0

시도를 : 그 V는 레이아웃)입니다. 이것이 작동하지 않으면 bmneu로 설정하십시오. –

+0

내 레이아웃 여백이 0입니다. bmenu를 설정하는 방법? –

+0

help_archive 레이아웃 파일의 값은 무엇입니까 – andre3wap

답변

1

사용자 정의 대화 상자 확장 DialogFragment를 만들고 다음에 당신의 ONSTART() 메소드입니다! 내가 충분히 명확하지 않은 경우 알려주십시오.

0

어쩌면이 유용 할 것입니다 :

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

코드의 마지막 블록은

그래서, 쇼 alertHelp.show() 다음에 다음 코드를 삽입 (대화 상자 내부에) 뷰의 폭과 높이를 설정합니다 (기억 레이아웃`help_archive` 0으로 marginTop/아래를 넣어

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

이것을 시험해 보면 런타임 오류가 발생합니다! –

+0

미안하지만 편집했습니다. –

+0

죄송합니다. 도움이 안돼. 나는 alertDialog가 풀 스크린이 될 수 없다고 생각한다! –