0

i want to create fragment dialog with black windowBackground around it, but when i add a style i have a black frame around the fragment. does somebody knows why this frame is appears in my fragment:

Fragment example

this my fragment 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>`

this is my style:

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

this is how i set it in the 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);

}
gil cohen
  • 333
  • 2
  • 8
  • 21

1 Answers1

0

Your dialog already has a background referenced with the line android:background="@drawable/clean_backgroung_pop_up_ltr. If you want to change it to the dark one, you will have to modify a drawable. You can apply the transformations programmatically or simply create another drawable using the first one as the base.

Also don't forget to change the dialog theme to Theme.DeviceDefault.Dialog, otherwise the elements in the dialog will look poorly on the dark background.

What is happening right now is that the window's background gets drawn as a black rectangle, then the layout's background is drawn on top of it. Of course, you can make sure that the window background has the same shape as the layout's background, but in that case it will be fully hidden underneath the latter and thus will be absolutely useless.

Malcolm
  • 41,014
  • 11
  • 68
  • 91
  • the android:background="@drawable/clean_backgroung_pop_up_ltr. is the background of the fragment i talk about the windowBackground – gil cohen Nov 09 '16 at 09:28
  • @gilcohen Yes, and you have stop using it if you want to change the background of your dialog to a dark one. If you want to do something else, please indicate what is it that you want. I've updated the answer so it's a bit clearer. – Malcolm Nov 09 '16 at 09:38