好的,我正在为手机制作一个应用程序。我为我的对话框创建了一个函数,并在需要时调用该函数。
我希望能够更改对话框窗口,即:不同的颜色、线条和其他东西,以便将文本分开。
我在网上到处寻找,找不到任何可以帮助我的东西。
这是我要调用的函数..。
public void userNameRequired(View view)
{
AlertDialog.Builder builder = new AlerdDialog.Builder(this);
TextView newMessage = new TextView(this);
newMessage.setText(" User Name is Required to be between 7 and 20 caracters long.");
newMesage.setGravity(Gravity.CENTER_HORIZONTAL);
builder.setView(newMessage);
TextView title = new TextView(this);
title.setText("!! NOTICE !!");
title.setGravity(Gravity.CENTER);
title.setTextSize(28);
title.setTextColor(Color.RED);
builder.setCustomTitle(title);
builder.setPositiveButton("Ok", new DialogInterface.OnClickListener()
{
public void onClick(DialogInterface dialog, int id)
{
}
});
builder.show();
}发布于 2017-10-22 16:31:05
正如pha所回答的,您可以将一个自定义主题分配给Alert Dialog:
发布于 2017-10-22 16:35:52
解决方案1:
colors.xml<color name="background_dark">#3F51B5</color>show()之后,设置如下背景颜色:
builder.getWindow().setBackgroundDrawableResource(android.R.color.background_dark);解决方案2:
@color/White和@color/colorPrimaryDark中定义了colors.xml @color/White粗体、真正的普通颜色/彩色colorPrimaryDark因此,您的代码应该是这样的:
public void userNameRequired(View view)
{
AlertDialog.Builder builder = new AlerdDialog.Builder(new ContextThemeWrapper(this, R.style.AlertDialogCustom));
TextView newMessage = new TextView(this);
newMessage.setText(" User Name is Required to be between 7 and 20 caracters long.");
newMesage.setGravity(Gravity.CENTER_HORIZONTAL);
builder.setView(newMessage);
TextView title = new TextView(this);
title.setText("!! NOTICE !!");
title.setGravity(Gravity.CENTER);
title.setTextSize(28);
title.setTextColor(Color.RED);
builder.setCustomTitle(title);
builder.setPositiveButton("Ok", new DialogInterface.OnClickListener()
{
public void onClick(DialogInterface dialog, int id)
{
}
});
builder.show();
}
AlertDialog alertDialog = new AlertDialog.Builder(getContext(), R.style.MyDialogTheme)
...
.create();https://stackoverflow.com/questions/46876483
复制相似问题