我正在使用默认警报对话框。我需要设置Title
,Content
和按钮的大小和颜色。现在我正在使用以下代码
AlertDialog.Builder alertDialogBuilder =new AlertDialog.Builder(new ContextThemeWrapper(context, R.style.AlertDialogCustom));
我也为此创建了一个样式资源
<style name="AlertDialogCustom" parent="@android:style/Theme.Dialog">
<item name="android:textColor">@color/medium_black</item>
<item name="android:textSize">20sp</item>
</style>
我可以使用
更改Title
的颜色和大小
<item name="android:textColor">@color/medium_black</item>
<item name="android:textSize">20sp</item>
但它也适用于是/否按钮。我需要单独的字体颜色和大小3.这有可能吗?
答案 0 :(得分:1)
如果您不想创建自定义对话框:
创建警告对话框后,在显示之前,您可以执行以下操作:
final AlertDialog alertDialog = builder.create();
alertDialog.setOnShowListener(new DialogInterface.OnShowListener() {
@Override
public void onShow(DialogInterface dialog) {
Button yesButton = alertDialog.getButton(AlertDialog.BUTTON_POSITIVE);
Button noButton = alertDialog.getButton(AlertDialog.BUTTON_NEGATIVE);
yesButton.setTextSize(TypedValue.COMPLEX_UNIT_SP, 18);
yesButton.setTypeface(/* "your type face" */);
}
});
alertDialog.show();
答案 1 :(得分:1)
只需添加colorAccent
属性即可。它会应用于按钮。
未来探险家的更多属性:
您可以制作这样的默认样式......
<style name="CustomDialogAlert" parent="Theme.AppCompat.Light.Dialog.Alert">
<item name="colorAccent">@color/accent_pink_a200</item> <!-- gets applied to positive/neutral/negative buttons -->
<item name="android:textColor">@color/white</item>
<item name="android:textColorPrimary">@color/white</item>
<item name="android:textColorSecondary">@color/white</item> <!-- gets applied to the message text-->
<item name="android:background">@color/primary_deepPurple_500</item>
<item name="textColorAlertDialogListItem">@color/white</item> <!-- if the alert's got a list instead of a message -->
</style>
并在此基础应用主题中加入..
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
...
<item name="alertDialogTheme">@style/CustomDialogAlert</item>
</style>
答案 2 :(得分:0)
您可以定义自己的自定义对话框并进行相应的设计。 请参阅此http://www.mkyong.com/android/android-custom-dialog-example/
答案 3 :(得分:0)
您可以使用此库自定义Dialogs
。
答案 4 :(得分:0)
使用html标签为您的文字添加样式。
AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(this);
// set title
alertDialogBuilder.setTitle( Html.fromHtml("<font size='3' color='#FF7F27'>Set IP Address</font>"));
// set dialog message
alertDialogBuilder
.setMessage(Html.fromHtml("<font size='3' color='red'>Click yes to exit!</font>"))
.setCancelable(false)
.setPositiveButton("Yes",new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,int id) {
// if this button is clicked, close
// current activity
}
})
.setNegativeButton("No", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
// if this button is clicked, just close
// the dialog box and do nothing
dialog.cancel();
}
});
// create alert dialog
AlertDialog alertDialog = alertDialogBuilder.create();
// show it
alertDialog.show();