Понимание макетов диалогового окна Android

Я делаю простой пользовательский диалог для моего приложения Android, отображая только строку поиска. Однако осложнения этой простой задачи сводят меня с ума.

Мой макет для диалога выглядит следующим образом:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="wrap_content" android:layout_height="wrap_content" android:padding="10dp"> <SeekBar xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/dialogVolumeSlider" android:layout_width="225dp" android:layout_height="wrap_content"/> </LinearLayout> 

Диалог создается в коде:

 Dialog d = new Dialog(this); d.setContentView(R.layout.custom_dialog); return d; 

Вместо простой коробки, обертывающей брелок, я получаю это призрачное пространство откуда-то:

Скриншот проблемы

В чем проблема? Я пробовал модифицировать

 d.getWindow().getAttributes().height 

Но это создает дополнительные проблемы.

Спасибо за любую помощь!

EDIT: Незнакомые вещи случаются, когда я назначил фиксированный «50dp» для моего макета LayearLayout: Вторая проблема

По умолчанию Dialog d.setTitle() оставляет пространство для заголовка, даже если вы его не задали (с помощью d.setTitle() ).

Вы можете либо задать заголовок для заполнения пробела, либо запросить, чтобы в Dialog не было заголовка.
Вот пример того, как запросить настройку без названия.

 Dialog d = new Dialog(this); d.requestWindowFeature(Window.FEATURE_NO_TITLE); d.setContentView(R.layout.custom_dialog); 

Без названия, ваш SeekBar появится, как вы ожидаете.

Попробуйте установить фиксированную высоту на родительском линейном макете. Что-то вроде:

 android:layout_height="50px" 
Intereting Posts
Что делает Bitmap # recycle () в Android Honeycomb на самом деле DO? Ошибка сборки Gradle: причина: org.gradle.api.internal.ExtensibleDynamicObject Как сохранить файл на SD-карту Macintosh Установка HAXM для Android Как удалить кнопки масштабирования в веб-браузере Android? «Предупреждение: не размещайте классы контекста Android в статических полях; Это утечка памяти (а также прерывает Instant Run) " Странные артефакты при создании кнопок выглядят как Spinners в API 21 Как разместить навигационный ящик под панелью инструментов? Android. Когда вы запускаете ту же самую активность из виджета с различными дополнениями, как предотвратить появление одного и того же экземпляра после возврата из кнопки HOME? CollapsingToolbarLayout и TabLayout Обработка нескольких источников объявлений (adMob + Leadbolt) на Android Не выбран целевой рендеринг с помощью Android Studio Threads и использование функции Asynctask для httppost Ошибка: невозможно найти файл с пустым: prelude_dev.js Android-меню слайдов с обеих сторон влево и вправо