我在警报对话框方面遇到问题。创建警报对话框时,默认行为是不带分隔线的情况下显示。我想得到与下面的图片完全一样的东西
我的代码在不需要的最后一个列表项的底部显示了一些不同的内容,例如多余的一行。
AlertDialog.Builder builder = new AlertDialog.Builder(context);
AlertDialog alertDialogObject = builder.create();
builder.setItems(valueList, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int item) {
editField.setText(valueList[item]);
editField.setError(null);
editField.requestFocus();
}
});
alertDialogObject = builder.create();
ListView listView=alertDialogObject.getListView();
listView.setDivider(new ColorDrawable(Color.LTGRAY)); // set color
listView.setDividerHeight(2); // set height
alertDialogObject.show();
有人可以帮忙吗?我想像上面的第一张图片一样获得对话框警报吗?
答案 0 :(得分:1)
它看起来像ListView
中的页脚装饰,因此请尝试禁用页脚分隔线,然后添加一个空的页脚,应从底部删除该行:
listView.setFooterDividersEnabled(false);
listView.addFooterView(new View(context));
答案 1 :(得分:0)
这是一个带分隔线的示例
//create dialog
AlertDialog.Builder builder = new AlertDialog.Builder(context);
builder.setTitle(title);
builder.setItems(valueList, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int item) {
//do something
}
});
AlertDialog alert =builder.create();
//set dividers
ListView listView =alert.getListView();
listView.setDivider(context.getResources().getDrawable(R.drawable.extraDull));
listView.setDividerHeight(1);
//show
alert.show();
请注意这段代码与您所拥有的代码的区别... 在builder.create()
附近看您也可以将其添加到您的颜色文件夹中
<drawable name="extraDull">#808080</drawable>