Можете ли вы сделать так, чтобы диалог оповещения занимал 100% ширины на экране? - PullRequest
0 голосов
/ 31 марта 2019

Я пытаюсь создать диалоговое окно оповещения (не настраиваемое диалоговое окно), занимающее 100% ширины на экране от начала до конца, но даже если я установлю его в соответствии с родительской шириной, оно по-прежнему будет составлять около 90% ширина с некоторыми пробелами слева и справа (также я пытаюсь установить гравитацию внизу, и при этом все еще остается некоторое пространство снизу). не уверен, нужен ли мне специальный диалог для этого или есть ли способ, чтобы диалоговое окно предупреждения могло занимать всю ширину экрана, не будучи настроенным? Есть идеи? Вот мой код для справки:

AlertDialog.Builder builder = new AlertDialog.Builder(getMyActivity());
     AlertDialog dialog = builder.create();
            dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
            dialog.getWindow().setLayout(MATCH_PARENT, WRAP_CONTENT);
            dialog.getWindow().getAttributes().windowAnimations = R.style.DialogAnimation; 
            WindowManager.LayoutParams wmlp = dialog.getWindow().getAttributes();
            dialog.getWindow().setGravity(Gravity.BOTTOM);


            wmlp.gravity = Gravity.BOTTOM ;
            dialog.show();

1 Ответ

1 голос
/ 31 марта 2019

Попробуй код ниже

AlertDialog.Builder alertDialog = new AlertDialog.Builder(this,android.R.style.Theme_Black_NoTitleBar_Fullscreen);

или добавь свою тему в свой style.xml

 <style name="DialogTheme" parent="android:Theme.Dialog">

<item name="android:layout_width">match_parent</item>
<!-- No backgrounds, titles or window float -->
<item name="android:windowBackground">@null</item>
<item name="android:windowNoTitle">true</item>
<item name="android:windowIsFloating">false</item>

во время раздувания диалога, установите эту тему

dialog = new Dialog(this, R.style.DialogTheme);
...