android - 我们如何使用样式自定义警报对话框的字体?
问题描述
我们如何使用样式自定义 android 警报对话框的字体
我找到了许多使用
setTypeFace()
方法的解决方案。但我想使用样式自定义整个应用程序警报对话框。
我想更改标题、消息、按钮字体。
我能够使用以下代码更改消息字体。
我的警报对话框样式声明
<style name="MyAlertDialougeTheme" parent="@android:style/Theme.Material.Light.Dialog.Alert">
<item name="android:textAppearanceSmall">@style/MyTextAppearance</item>
<item name="android:textAppearanceLarge">@style/MyTextAppearance</item>
<item name="android:textAppearanceMedium">@style/MyTextAppearance</item>
</style>
显示警报对话框的 Java 代码
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this,
R.style.MyAlertDialougeTheme);
builder.setTitle("Warning")
.setMessage("My message here")
.setPositiveButton("yes", null)
.setNegativeButton("no", null)
.show();
查看下面的屏幕
请帮助我使用样式更改标题和按钮字体,并且我想自定义负和正按钮的字体颜色。
提前感谢您的时间和帮助!
解决方案
首先创建一个CustomDialog
将扩展Dialog
Android类的类。以下是相同的代码 -
public class CustomDialog extends Dialog implements
View.OnClickListener {
Activity context;
private Button mBtnOK;
public CustomDialog(Activity context) {
super(context);
this.context = context;
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.custom_popup_dialog_box);
mBtnOK = findViewById(R.id.btn_ok);
mBtnOK.setOnClickListener(this);
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.btn_ok:
dismiss();
break;
default:
break;
}
dismiss();
}
}
现在,每当您想要一个对话框实例时,您只需创建CustomDialog
类的实例,这里的 xml custom_popup_dialog_box将具有所有自定义项,如字体系列、文本大小、颜色等。您只需在xml 或以编程方式。希望你找到解决办法。如果有更多信息,请告诉我。谢谢。
推荐阅读
- reactjs - 当某些条件通过时,如何在反应中启用和禁用 p 标签
- awk - AWK 命令将 YYYYMMDD 减少 4 年
- python-3.x - Cloud Run 连接到 Cloud SQL 模块错误 Python
- jmeter - 无法使用设备连接字符串连接到 iothub - Jmeter
- java - 使用 Quartz 在特定时间停止任务
- flutter - 如何在颤动中更新共享偏好中的值
- arrays - 如何从 C# 中的另一个类调用此列表?
- python - Python日志文件处理程序不使用指定的处理程序
- python - sympy 没有与余弦正确集成?
- sql - 适用于 Postgres 但不适用于 Redshift 的过滤器(其中 ...)