J'ai ajouté une disposition personnalisée avec la mise en page parent comme disposition de contrainte. Dans Android 9, il n'est pas capable de prendre la largeur et de devenir tronqué comme indiqué dans l'image ci-joint.
J'utilise de la boîte de dialogue pour créer une boîte de dialogue. P>
Image de la boîte de dialogue, cette longue barre verticale blanche est la façon dont La boîte de dialogue regarde à Android 9. Veuillez ignorer d'autres couleurs blanches autour. P>
attacher les codes pour la même - p>
<style name="CustomDialog" parent="Base.Theme.AppCompat.Dialog"> <item name="android:windowIsFloating">true</item> <item name="android:windowTitleStyle">@null</item> <item name="android:backgroundDimEnabled">true</item> <item name="android:background">@drawable/round_corner_dialog_background</item> </style>
3 Réponses :
Pouvez-vous essayer ce code. Cela fonctionne dans mon cas: et utiliser comme ceci p>
Vous pouvez définir la largeur et la hauteur de manière dynamique en fonction de la largeur et de la hauteur de l'écran. Qui serait une solution plus idéale.
val dialog = Dialog( context, android.R.style.Theme_Translucent_NoTitleBar ) dialog.requestWindowFeature(Window.FEATURE_NO_TITLE) dialog.window!!.setFlags( WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED, WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED ) val lp = WindowManager.LayoutParams() lp.copyFrom(dialog.window!!.attributes) lp.width = (ScreenUtils.screenWidth * 0.6).toInt() lp.height = (ScreenUtils.screenWidth * 0.6).toInt() lp.gravity = Gravity.CENTER dialog.window!!.attributes = lp dialog.setContentView(R.layout.layout_bookmark_note) //this is how you access views //val editText = dialog.findViewById<EditText>(R.id.editTextNote) dialog.setCancelable(true) dialog.setCanceledOnTouchOutside(true) dialog.setOnCancelListener { } dialog.show()
Donc, après avoir regardé autour de moi, j'ai trouvé la cause. p>
Lorsque vous remplacez ONCREAREADIALOG (), Android ignore complètement plusieurs attributs du nœud racine de la mise en page .xml que vous gonflez. Cela inclut, mais n'est probablement pas limité à: p>
Même chose se passait avec moi. P>
J'ai résolu ceci en ajoutant 2 ligne dans le style CustomDialog - P>
Il faut donc la largeur de là et fonctionne bien. P>
référence- https://stackoverflow.com/a/41495370/4288868 P>
Utilisez-vous la classe de dialogue?
@ Deepaks.gavkar j'utilise dialogment
@Rahul Postez votre code Java pour le fragment de dialogue.
@Poyyamozhiramakrishnan a mis à jour, pouvez-vous jeter un coup d'oeil?
Essayez ceci:
fenêtremanager.layoutparams lp = nouvelle fenêtremanager.layoutparams (); lp.copyfrom (d.getwindow (). Getattributes ()); lp.width = windowmanager.layoutparams.match_parent; lp.height = windowmanager.layoutparams.match_parent; d.getwindow (). Setattributes (LP); code>