Фрагмент диалогового окна Android устраняет черные границы (сверху и снизу)

Необходимо удалить верхнюю и нижнюю границы из фрагмента диалога. Как ты делаешь это?

AlertDialog.Builder builder = new AlertDialog.Builder(activity); builder.setCancelable(true); LayoutInflater inflater = LayoutInflater.from(activity); View view = inflater.inflate(R.layout.variants_dialog, null); // setup views setupListView(view); ... builder.setView(view); return builder.create(); // HERE I HAVE TOP & BOTTOM BLACK BORDERS 

Это ничего не делает:

  builder.setView(view); AlertDialog result = builder.create(); result.getWindow().setBackgroundDrawable(new ColorDrawable()); return result; 

Такого метода нет:

  dialog.setView(layout, 0, 0, 0, 0); 

Однако я не знаком с DialogFragments, но с регулярными диалогами для этого вы обычно должны использовать R.value.styles и добавлять:

  <style name="myDialog" parent="@android:style/Theme.Dialog"> <item name="android:buttonStyle">@style/Button</item> <item name="android:windowBackground">@android:color/transparent</item> <item name="android:windowAnimationStyle">@style/PauseDialogAnimation</item> <item name="android:windowNoTitle">true</item> <item name="android:windowIsFloating">true</item> <item name="android:windowContentOverlay">@null</item> <item name="android:textColor">#FFFFFFFF</item> <item name="android:shadowColor">#cdc9c9</item> <item name="android:shadowDx">0</item> <item name="android:shadowDy">-1</item> <item name="android:shadowRadius">0.5</item> </style> 

И установите для вашего диалога стиль myDialog . Однако, с dialogFragments , кажется, вам нужно определить стиль при его инициализации, DialogFragment.STYLE_NO_FRAME; , Надеюсь, что это помогает, хотя я знаю, что это был не полный ответ.

НАЙДЕННОЕ РЕШЕНИЕ !!

Здесь нет

 setView(layout, 0, 0, 0, 0); 

На построителе из dialogFragment, но AlertDialog имеет этот метод .. поэтому вместо возврата

 builder.create(); 

сделай это

 //dont set view for builder! AlertDialog result = builder.create(); result.setView(view, 0, 0, 0, 0); return result; 

Это то, что сработало для меня:

 dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); 

У меня была аналогичная проблема не так давно. Проблема в том, что Builder не позволяет вам играть с заполнением диалога вообще. Моя работа заключалась в создании подкласса AlertDialog:

 final class PaddinglessDialog extends AlertDialog { public PaddinglessDialog(Context context, int theme) { super(context, theme); } } 

Затем я продолжил использовать его так:

 PaddinglessDialog alertDialog = new PaddinglessDialog(this, android.R.style.Theme_Holo_Light_Panel); View layout = LayoutInflater.from(this).inflate(R.layout.my_dialog_layout, ...); alertDialog.setView(layout, 0, 0, 0, 0); alertDialog.setCanceledOnTouchOutside(false); ... dialog = alertDialog; 
Intereting Posts
Google TV – разрабатывает для эффективности так же важно, как и с телефонами / планшетами? Эмулятор Android использует 100% -ный процессор, даже если ничего не работает на нем? Не сворачивайте панель инструментов, когда RecyclerView подходит к экрану ConstraintLayout – Элемент занимает необходимое пространство до того, что доступно Потоковая передача голоса по tcp Android – Чтение PNG-изображения без альфа-декодирования и декодирования ARGB_8888 / Tmp в Linux Android SDK Android Studio Не удалось запустить AVD Экземпляр Android-Detail из примера базы данных Почему по умолчанию вместо content_main.xml есть content_main.xml и activity_main.xml? Android NDK создает необоснованные большие двоичные файлы, как оптимизировать размер .so? Как использовать Active Android с базой данных в памяти для модульных тестов с использованием Robolectric? Переопределить темы по умолчанию для Android Разница между адаптером Array и адаптером курсора в Android Вызывается Camera2 API onCaptureComplete (), но состояние камеры по-прежнему CONTROL_AE_STATE_PRECAPTURE