2017-10-31 9 views
-2

내 응용 프로그램에 문제가없는 사용자 지정 대화 상자가 하나 있습니다. 잘 작동하지만이 이미지와 같은 대화 위에 공백이 표시됩니다. enter image description hereLollipop Device의 대화 위 공백 문자

저는 Lollipop 및 더 낮은 API를 사용하는 기기에만 문제가 있습니다. 내 코드는 아래처럼 보입니다

private void showGotoPageDialog() { 
     if (getActivity() != null) { 
      if (mPageOptions.length == 0) 
       return; 
      final Dialog mDialog = new Dialog(getActivity()); 
      mDialog.setContentView(R.layout.grid_dialogue); 
      if(mDialog.getWindow()!=null){ 
      mDialog.getWindow().setLayout(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT);} 
      GridView mGridView = mDialog.findViewById(R.id.grid_dialog); 
      ArrayList<String> tmp = new ArrayList<>(mPageOptions.length); 
      for (int i = 0; i < mPageOptions.length; i++) { 
       tmp.add(mPageOptions[i].split(" ")[1]); 
      } 
      final CustomAdapter adapter = new CustomAdapter(getActivity(), tmp, mPageIndx); 
      mGridView.setAdapter(adapter); 
      mGridView.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
       @Override 
       public void onItemClick(AdapterView<?> adapterView, View view, int item, long l) { 
        adapter.a.cancel(); 
        mDialog.dismiss(); 
        mPageIndx = item + 1; 
        updateQuotesList(); 
        updatePageInfo(); 
       } 
      }); 
      mDialog.show(); 
      TextView dismiss =mDialog.findViewById(R.id.dialog_dismiss); 
      dismiss.setOnClickListener(new View.OnClickListener() { 
       @Override 
       public void onClick(View view) { 
        adapter.a.cancel(); 
        mDialog.dismiss(); 
       } 
      }); 
     } 
    } 

누군가가 문제를 해결할 수 있는지 알려주세요. 감사합니다

+0

대화 레이아웃이 무엇인가? 나는 당신의 코드에서 UI 관점에서 중요한 요소를 보지 못한다. 중요한 레이아웃이다. –

+0

@ M.Prokhorov Nilesh Rathod가 답을하고 잘 작동합니다. 감사합니다 – Priya

답변

4

공백이이 사용 mDialog.requestWindowFeature(Window.FEATURE_NO_TITLE);을 시도 Dialog 제목

라고

  • 롤리팝 장치의 대화보다도 그것은 빈 제목 공간에서 제거됩니다 대화 상자

    샘플 코드

    final Dialog mDialog = new Dialog(getActivity()); 
    mDialog.requestWindowFeature(Window.FEATURE_NO_TITLE); 
    mDialog.setContentView(R.layout.grid_dialogue); 
    mDialog.getWindow().setLayout(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT);} 
    GridView mGridView = mDialog.findViewById(R.id.grid_dialog); 
    // your whole dialog code 
    
+1

좋은 답변 주셔서 감사합니다. 그것은 내 문제를 해결했습니다. 고마워요 :) – Priya

+0

가장 좋아하는 @Priya 당신을 돕기 위해 기쁘게 생각합니다. –