J'ai essayé de créer une boîte de dialogue d'alerte personnalisée et cela fonctionne très bien. la fonctionnalité fonctionne parfaitement mais la vue se comporte bizarrement. La disposition du dialogue se compose d'un bouton et d'une liste. Comme vous le verrez dans la capture d'écran ci-dessous, le bouton obtient une marge en haut et en bas.boîte de dialogue d'alerte personnalisée pour obtenir un remplissage indésirable
je ne vois aucune raison de ces marges, et je serais très heureux de l'aide :)
pour une raison que je ne peux pas poster ma mise en page XML, mais je peux vous asure qu'il ne contient pas rembourrages ou des marges de toute nature
code Java:
View dialogView = ((LayoutInflater)mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE)).inflate(R.layout.choose_catagory_dialog_layout, null, false);
Button footerButton = (Button) dialogView.findViewById(R.id.choose_catagory_dialog_footer_button);
footerButton.setOnClickListener(ButtonClickEvent);
builder = new AlertDialog.Builder(mContext);
builder.setView(dialogView);
builder.setTitle(R.string.choose_catagory);
builder.setAdapter(spinnerAdapter, ListclickEvent);
alert = builder.create();
alert.getListView().setVerticalFadingEdgeEnabled(false);
alert.setOwnerActivity((Activity) mContext);
Screenshot:
ok mais c'est la méthode de la classe AlertDialog et non AlertDialog.builder, alors comment appeler cette méthode? –
Il fait partie de AlertDialog.builder: http://developer.android.com/reference/android/app/AlertDialog.Builder.html#setView(android.view.View) Vous souhaitez remplacer votre 4ème ligne par ce que pcans a ci-dessus. – Sorean
comme indiqué dans le document lié, la méthode setView() de AlertDialog.builder est setView (View) Bien que AlertDialog contienne la méthode setView (View, int, int, int, int). Comment accéder à cette méthode depuis AlertDialog.builder? –