2016-11-09 2 views
0

Я хочу создать диалог фрагмента с черным окном. Закройте вокруг него, но когда я добавлю стиль, у меня есть черный кадр вокруг фрагмента. делает кто-нибудь знает, почему появляется этот кадр в моем фрагменте: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>

это как i установите его в диалоговом окне Dialog:

@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 (новый ColorDrawable (Color.TRANSPARENT)); –

+0

где мне нужно поставить код? (onCreate, onCreateDialog getDialog имеет значение null) –

+0

Использовать в: onCreateView –

ответ

0

В вашем диалоговом окне уже есть ссылка на строку android:background="@drawable/clean_backgroung_pop_up_ltr. Если вы хотите изменить его на темный, вам придется изменить растягиваемый. Вы можете применять преобразования программно или просто создать другой способный, используя первый в качестве базы.

Также не забудьте изменить тему диалога на Theme.DeviceDefault.Dialog, в противном случае элементы в диалоговом окне будут плохо выглядеть на темном фоне.

Что происходит сейчас, так это то, что фон окна нарисован как черный прямоугольник, затем фон макета рисуется поверх него. Конечно, вы можете убедиться, что фон окна имеет ту же форму, что и фон макета, но в этом случае он будет полностью скрыт под последним и, следовательно, будет абсолютно бесполезен.

+0

theroid: background = "@ drawable/clean_backgroung_pop_up_ltr." - это фон фрагмента, который я говорю о windowBackground –

+0

@gilcohen Да, и вы перестали использовать его, если хотите изменить фон своего диалога на темный. Если вы хотите сделать что-то еще, укажите, что вы хотите. Я обновил ответ так это немного яснее. – Malcolm

Смежные вопросы