2016-11-09 4 views
0

私は、その周りに黒のwindowBackgroundでフラグメントダイアログを作成したいが、スタイルを追加すると、フラグメントの周りに黒い枠が表示される。このフレームは、なぜ誰もが知っているんが、私のフラグメントに表示されます。Android - ダイアログのフラグメントのスタイルを設定する

Fragment example

この私のフラグメントのxml:

` <?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:id="@+id/tocLayout" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:background="@drawable/clean_backgroung_pop_up_ltr" 
    android:padding="20dp"> 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:background="@drawable/settings_border" 
     android:orientation="vertical"> 

     <FrameLayout 
      android:id="@+id/title_layout_settings" 
      style="@style/reader_dialog_title"> 

      <TextView 
       android:id="@+id/title_txt_settings" 
       android:layout_width="wrap_content" 
       android:layout_height="match_parent" 
       android:layout_gravity="center" 
       android:layout_weight="4" 
       android:gravity="center" 
       android:text="@string/menu_settings" 
       android:textColor="@color/white_color" 
       android:textSize="@dimen/global_text_size" /> 

      <ImageView 
       android:id="@+id/imvClose" 
       android:layout_width="@dimen/global_close_button_width" 
       android:layout_height="match_parent" 
       android:layout_gravity="center_vertical|right" 
       android:layout_weight="1" 
       android:padding="@dimen/global_padding" 
       android:src="@drawable/icon_close_window" /> 

      <ImageView 
       android:id="@+id/title_txt_settings_icon" 
       android:layout_width="@dimen/global_image_width" 
       android:layout_height="match_parent" 
       android:layout_gravity="center_vertical|left" 
       android:layout_weight="1" 
       android:padding="@dimen/global_padding" 
       android:scaleType="center" 
       android:src="@drawable/toolbar_settings_button_heb" /> 
     </FrameLayout> 

     <LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:orientation="vertical" 
      android:paddingLeft="@dimen/global_margin_s" 
      android:paddingRight="@dimen/global_margin_s"> 

      <FrameLayout 
       android:id="@+id/tts_layout_settings" 
       android:layout_width="@dimen/settings_screen_popover_width" 
       android:layout_height="@dimen/settings_screen_layout_height" 
       android:gravity="center_horizontal" 
       android:longClickable="true"> 

       <ImageView 
        android:layout_width="wrap_content" 
        android:layout_height="@dimen/settings_screen_seek_bar_hight" 
        android:layout_centerHorizontal="true" 
        android:layout_gravity="center" 
        android:background="@drawable/tts_rabbit_turtle" 
        android:gravity="center_horizontal" /> 

       <SeekBar 
        android:id="@+id/tts_speed_settings_seek" 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        android:layout_centerHorizontal="true" 
        android:layout_gravity="center" 
        android:layout_marginLeft="@dimen/global_book_reader_menus_margin_l" 
        android:layout_marginRight="@dimen/global_book_reader_menus_margin_l" 
        android:max="4" 
        android:maxHeight="1dp" 
        android:progressDrawable="@drawable/seek_bar" 
        android:thumb="@drawable/sliderknob_23" /> 
      </FrameLayout> 

      <View 
       android:id="@+id/setting_seperator" 
       android:layout_width="@dimen/settings_screen_popover_width" 
       android:layout_height="1dp" 
       android:layout_below="@id/tts_speed_settings_seek" 
       android:background="#CECECE" 
       android:drawablePadding="@dimen/global_margin_s" /> 

      <FrameLayout 
       android:id="@+id/brightness_layout_settings" 
       android:layout_width="@dimen/settings_screen_popover_width" 
       android:layout_height="@dimen/settings_screen_layout_height"> 

       <ImageView 
        android:layout_width="wrap_content" 
        android:layout_height="@dimen/settings_screen_seek_bar_hight" 
        android:layout_centerHorizontal="true" 
        android:layout_gravity="center" 
        android:background="@drawable/bright" 
        android:gravity="center_horizontal" /> 

       <SeekBar 
        android:id="@+id/brightness_settings_seek" 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        android:layout_gravity="center" 
        android:layout_marginLeft="@dimen/global_book_reader_menus_margin_l" 
        android:layout_marginRight="@dimen/global_book_reader_menus_margin_l" 
        android:backgroundTint="@color/application_gray" 
        android:maxHeight="1dp" 
        android:progressDrawable="@drawable/seek_bar" 
        android:thumb="@drawable/sliderknob_23" /> 
      </FrameLayout> 

      <View 
       android:layout_width="@dimen/settings_screen_popover_width" 
       android:layout_height="1dp" 
       android:layout_below="@+id/brightness_settings_seek" 
       android:background="#CECECE" 
       android:drawablePadding="@dimen/global_margin_s" 
       android:gravity="center" /> 


      <FrameLayout 
       android:layout_width="match_parent" 
       android:layout_height="@dimen/settings_screen_sub_layout_height"> 

       <Switch 
        android:id="@+id/switchHighlights" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_gravity="right|center_vertical" /> 

       <TextView 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_gravity="left|center_vertical" 
        android:text="@string/show_highlights_info" 
        android:textAppearance="?android:attr/textAppearanceMedium" 
        android:textColor="@color/settings_text_color" 
        android:id="@+id/txvShowHighligtsInfo" /> 
      </FrameLayout> 

      <View 
       android:layout_width="@dimen/settings_screen_popover_width" 
       android:layout_height="1dp" 
       android:layout_below="@+id/brightness_settings_seek" 
       android:background="#CECECE" 
       android:drawablePadding="@dimen/global_margin_s" 
       android:gravity="center" /> 


      <FrameLayout 
       android:layout_width="match_parent" 
       android:layout_height="@dimen/settings_screen_sub_layout_height"> 

       <Switch 
        android:id="@+id/switchTheme" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_gravity="right|center_vertical" /> 

       <TextView 
        android:id="@+id/txvNightTheme" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_gravity="left|center_vertical" 
        android:text="@string/search_popup_night_theme_txt" 
        android:textAppearance="?android:attr/textAppearanceMedium" 
        android:textColor="@color/settings_text_color" /> 
      </FrameLayout> 

      <View 
       android:layout_width="@dimen/settings_screen_popover_width" 
       android:layout_height="1dp" 
       android:layout_below="@+id/brightness_settings_seek" 
       android:background="#CECECE" 
       android:drawablePadding="@dimen/global_margin_s" 
       android:gravity="center" /> 

      <FrameLayout 
       android:layout_width="match_parent" 
       android:layout_height="@dimen/settings_screen_sub_layout_height"> 

       <Switch 
        android:id="@+id/switchLockScreen" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_gravity="right|center_vertical" /> 

       <!--  <android.support.v7.widget.SwitchCompat 
          android:id="@+id/switchLockScreen" 
          android:layout_width="153dp" 
          android:layout_height="wrap_content" 
          android:layout_gravity="center_vertical|left" 
          android:theme="@style/MySwitch" /> --> 

       <TextView 
        android:id="@+id/txvLockScreen" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_gravity="left|center_vertical" 
        android:text="@string/search_popup_lock_screen_txt" 
        android:textAppearance="?android:attr/textAppearanceMedium" 
        android:textColor="@color/settings_text_color" /> 
      </FrameLayout> 


     </LinearLayout> 


    </LinearLayout> 

    <!-- Font seek bar --> 

    <!-- Brighness --> 

    <!--Night mode--> 


</LinearLayout>` 

これが私のスタイルです:

<style name="MyDialog" parent="@android:style/Theme.DeviceDefault.Light.Dialog"> <item name="android:windowBackground">@color/trans_black_second</item> </style>

、これはどのようにありますDialogFragmentに設定します:

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    Log.i(TAG,"BookDialog onCreate"); 
    setCancelable(true); 
    if (mBookReader != null && inflater == null) { 
     inflater = (LayoutInflater) mBookReader.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
     mWindowManager = (WindowManager)mBookReader.getSystemService(Context.WINDOW_SERVICE); 
    } 
    tfOpenSansHebrew = FontUtils.getFont(getActivity(), FontUtils.FONT_OPEN_SANS); 

    setStyle(DialogFragment.STYLE_NO_FRAME, R.style.MyDialog); 

} 
+1

次のコードを試してください。getDialog()。getWindow()。setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT)); –

+0

どこにコードを置く必要がありますか? (onCreate、onCreateDialogはgetDialogがnullです) –

+0

で使用します:onCreateView –

答えて

0

ダイアログには、すでにandroid:background="@drawable/clean_backgroung_pop_up_ltrという行で参照されている背景があります。暗いものに変更したい場合は、ドロウアブルを変更する必要があります。プログラムで変換を適用することも、最初のものをベースとして別の描画可能なものを作成することもできます。

また、ダイアログのテーマをTheme.DeviceDefault.Dialogに変更することを忘れないでください。そうしないと、ダイアログの要素が暗い背景でうまく見えなくなります。

現在、ウィンドウの背景が黒い四角形として描画され、レイアウトの背景がその上に描画されています。もちろん、ウィンドウの背景がレイアウトの背景と同じ形になっていることを確認できますが、その場合は後者の下に完全に隠れてしまい、まったく役に立たなくなります。

+0

android:background = "@ drawable/clean_backgroung_pop_up_ltr。 –

+0

@gilcohenはい、あなたは暗いものにあなたのダイアログの背景を変更したい場合は、それを使用して停止します。あなたが何か他のことをしたい場合は、それが何であるかを示してください。それは少し明確です。 – Malcolm

関連する問題