我试图做一个自定义提醒对话框,它大多工作得很好。该功能完美运行,但视图以怪异的方式运行。对话框布局由一个按钮和一个列表视图组成。正如你在下面的屏幕截图中看到的那样,按钮的顶部和底部都有一个边距。自定义警报对话框变得不必要的填充
我没有看到任何理由为这些边距,我将不胜感激一些帮助:)
出于某种原因,我不能发布我的XML布局,但我可以可以确定地告诉你,它不包含任何形式的垫衬或利润
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);
截图:
好的,但这是AlertDialog类的方法,而不是AlertDialog.builder,所以如何调用该方法? – 2011-03-16 18:25:33
它是AlertDialog.builder的一部分: http://developer.android.com/reference/android/app/AlertDialog.Builder.html#setView(android.view.View) 你会用你的第4行代替pcans有以上。 – Sorean 2011-03-16 18:28:59
如链接文档中所述,AlertDialog.builder的setView()方法是setView(View),尽管AlertDialog包含方法setView(View,int,int,int,int)。如何从AlertDialog.builder访问此方法? – 2011-03-16 18:34:34