6

enter image description hereDialogFragment在Android的頂部藍線4.4.2

有出現在我的對話片段的頂部,我無法擺脫掉(我甚至不知道它爲什麼出現在藍線。首先是否有人知道如何擺脫這種

我已經測試了幾個設備,它工作在更高的Android版本就好了

我的代碼:?

private void setupDialog() { 
    final Dialog dialog = getDialog(); 
    final Window window = dialog.getWindow(); 

    window.setBackgroundDrawable(new ColorDrawable(0)); 
    window.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE); 
    } 

佈局:

 <?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tiktok="http://schemas.android.com/apk/res-auto" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:background="@drawable/settings_bg"> 

    <RelativeLayout 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_centerHorizontal="true"> 

     <ImageView 
      android:id="@+id/close_btn" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_alignParentRight="true" 
      android:layout_margin="15dp" 
      android:src="@drawable/pressable_close_btn"/> 

     <com.cyscorpions.timekeeper.customviews.TKTextView 
      android:id="@+id/settings_title" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_centerHorizontal="true" 
      android:layout_marginTop="@dimen/dp_40" 
      android:text="@string/settings_allcaps" 
      android:textColor="@color/timekeeper_blue" 
      android:textSize="@dimen/sp_60" 
      tiktok:useBoldFont="true"/> 

     <com.cyscorpions.timekeeper.customviews.TKTextView 
      android:id="@+id/account_name_instruction" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_below="@id/settings_title" 
      android:layout_centerHorizontal="true" 
      android:layout_marginTop="@dimen/dp_20" 
      android:text="@string/subdomain_instruction" 
      android:textColor="@color/gray" 
      android:textSize="@dimen/sp_30"/> 

     <RelativeLayout 
      android:id="@+id/info_field" 
      android:layout_width="wrap_content" 
      android:layout_height="@dimen/dp_70" 
      android:layout_alignLeft="@+id/submit_btn" 
      android:layout_below="@id/account_name_instruction" 
      android:layout_centerHorizontal="true" 
      android:layout_marginLeft="2dp" 
      android:layout_marginTop="@dimen/dp_20"> 

      <com.cyscorpions.timekeeper.customviews.TKAppCompatEditText 
       android:id="@+id/subdomain_textfield" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_centerVertical="true" 
       android:background="@drawable/text_field_bg" 
       android:hint="@string/textfield_account_hint" 
       android:inputType="text" 
       android:textColor="@color/gray" 
       android:textColorHint="@color/gray" 
       android:textSize="@dimen/sp_20" 
       tiktok:setTextFieldFont="@string/montserrat_reg"/> 

      <com.cyscorpions.timekeeper.customviews.TKTextView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_centerVertical="true" 
       android:layout_toRightOf="@id/subdomain_textfield" 
       android:text="@string/domain_suffix" 
       android:textColor="@color/gray" 
       android:textSize="@dimen/sp_25"/> 
     </RelativeLayout> 

     <RelativeLayout 
      android:id="@+id/error_tooltip" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_centerHorizontal="true" 
      android:layout_below="@id/settings_title"> 

      <ImageView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:background="@drawable/error_tooltip" 
       android:shadowColor="@color/black"/> 

      <com.cyscorpions.timekeeper.customviews.TKTextView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_centerHorizontal="true" 
       android:layout_marginTop="@dimen/dp_20" 
       android:text="@string/field_required" 
       android:textColor="@color/white" 
       android:textSize="@dimen/sp_30"/> 
     </RelativeLayout> 

     <com.cyscorpions.timekeeper.customviews.TKButton 
      android:id="@id/submit_btn" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_below="@id/info_field" 
      android:layout_centerHorizontal="true" 
      android:layout_marginTop="@dimen/dp_10" 
      android:background="@drawable/pressable_submit_btn" 
      android:text="@string/submit_allcaps" 
      android:textColor="@color/white" 
      android:textSize="@dimen/sp_30" 
      tiktok:hasDarkerPressedState="true" 
      tiktok:useDefaultDrawable="true"/> 

    </RelativeLayout> 

</RelativeLayout> 

回答

10

我想它會出現時,仍然有一個標題欄。我只是躲在標題欄,它工作得很好..

dialog.getWindow().requestFeature(Window.FEATURE_NO_TITLE); 
+3

Thes e行代碼只有當我們把它放在'setContentView'之前,它纔會起作用,否則它會拋出異常:) –

+0

另外它修復了一些佈局重力問題;) – Tobliug

-2

使用此變化:

DialogFragment

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    setStyle(android.support.v4.app.DialogFragment.STYLE_NO_FRAME, R.style.my_dialog_style); 
} 

你的風格R.style.my_dialog_style加入以下內容:

<item name="android:windowContentOverlay">@null</item>