Как удалить границы диалогового окна?
Я пытаюсь создать настраиваемый диалог, чтобы показать список значений внизу экрана.
Как удалить поля диалогового окна?
Я хочу это...
![enter image description here]()
У меня это...
![enter image description here]()
Диалоговый код:
Dialog d = new Dialog(this);
d.requestWindowFeature(Window.FEATURE_NO_TITLE);
d.setContentView(R.layout.dialog_options);
Window window = d.getWindow();
WindowManager.LayoutParams wlp = window.getAttributes();
wlp.width = WindowManager.LayoutParams.MATCH_PARENT;
wlp.gravity = Gravity.BOTTOM;
window.setAttributes(wlp);
d.show();
Решено! Лучшее решение:
<style name="BottomOptionsDialogTheme" parent="Theme.AppCompat.Light.Dialog">
<item name="android:windowBackground">@null</item>
<item name="android:windowNoTitle">true</item>
<item name="android:windowIsFloating">false</item>
<item name="android:layout_margin">0dp</item>
<item name="android:padding">0dp</item>
<item name="android:layout_gravity">bottom</item>
<item name="colorPrimary">@color/orange_dark</item>
<item name="colorPrimaryDark">@color/orange_dark</item>
<item name="colorAccent">@color/gray_light</item>
</style>
И используйте новый диалог (контекст, R.theme.BottomOptionsDialogTheme);
Ответы
Ответ 1
Измените свою строку:
Dialog d = new Dialog(this);
в
Dialog d = new Dialog(this, R.style.DialogTheme);
и добавьте в свой styles.xml
с parent
, соответствующий вашей версии темы.
<style name="DialogTheme" parent="Theme.AppCompat.Light.Dialog">
<!-- Customize your theme here. -->
<item name="android:windowBackground">@null</item>
<item name="android:windowNoTitle">true</item>
<item name="android:windowIsFloating">false</item>
</style>
Но в вашей ситуации, по-моему, лучше использовать Snackbar
. Здесь - это учебник.