public class MessageDisplayDialog extends Dialog implements OnClickListener
{
public MessageDisplayDialog(Context context, String title, String message)
{
super(context);
setTitle(title);
getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.color.default_text_color);
Log.v(getClass().getSimpleName(), "MessageDisplayDialog");
LinearLayout objLinearLayout = new LinearLayout(context);
LinearLayout objButtonLayout = new LinearLayout(context);
TextView objMesaageView = new TextView(context);
objMesaageView.setText(message);
objMesaageView.setTextColor(Color.WHITE);
objMesaageView.setGravity(Gravity.CENTER_HORIZONTAL);
objMesaageView.setPadding(0, 0, 0, 10);
Button okButton = new Button(context);
okButton.setText(" OK ");
okButton.setOnClickListener(this);
okButton.setWidth(100);
objButtonLayout.addView(okButton);
objButtonLayout.setGravity(Gravity.CENTER_HORIZONTAL);
objButtonLayout.setPadding(0, 5, 0, 0);
objButtonLayout.setBackgroundColor(Color.LTGRAY);
objLinearLayout.setOrientation(LinearLayout.VERTICAL);
objLinearLayout.addView(objMesaageView);
objLinearLayout.addView(objButtonLayout);
setContentView(objLinearLayout);
//LayoutParams param = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
//this.addContentView(objLinearLayout, param);
}
public void onClick(View v)
{
this.dismiss();
}
}
但是对话框没有显示标题下面的栏,如何破解它。
答案 0 :(得分:3)
答案 1 :(得分:2)
我认为内置对话框中标题和消息之间的水平边框是AlertDialog的一部分,而不是基本的Dialog类,尽管我可能完全错了。无论如何,每当我尝试做与你正在做的事情类似的事情时,那条水平线就会消失,而我却永远无法将它取回。
我最后编写了自己的对话框布局XML文件,并使用<shape>
drawable创建了自己的水平线。实际上,创建这样的完全自定义对话框布局实际上相当轻松,并且可以让您更好地控制对话框的外观。
答案 2 :(得分:2)
我知道这是旧的,但是在自定义对话框中绘制自己的行的解决方案与ICS不兼容。
默认情况下,它会显示您的行和ICS现在包含的行。所以你在屏幕上会看到两行。
答案 3 :(得分:1)
使用两行代码删除对话框标题
Dialog dialog = new Dialog(this);
dialog.requestWindowFeature(dialog.getWindow().FEATURE_NO_TITLE);