You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何无需自定义TextView即可实现MaterialAlertDialog文本两端对齐?

MaterialAlertDialog消息两端对齐实现方案(无需自定义插入TextView)

首先明确:存在无需手动创建自定义TextView插入对话框的实现方案,可按兼容范围选择对应方法:

  • 方案1:API 26+ 原生支持方案
    无需修改任何布局,直接调用系统原生属性即可实现,实现代码如下:
    Kotlin示例:
// 构建并显示对话框
val dialog = MaterialAlertDialogBuilder(context)
    .setTitle("提示")
    .setMessage("需要显示的长文本内容,设置后将自动应用两端对齐效果")
    .setPositiveButton("确认", null)
    .show()
// 获取对话框内置的消息TextView
val msgTv = dialog.findViewById<TextView>(android.R.id.message)
// 设置两端对齐,仅API 26及以上生效
msgTv?.justificationMode = Layout.JUSTIFICATION_MODE_INTER_WORD

Java示例:

MaterialAlertDialogBuilder builder = new MaterialAlertDialogBuilder(context);
builder.setTitle("提示");
builder.setMessage("需要显示的长文本内容,设置后将自动应用两端对齐效果");
builder.setPositiveButton("确认", null);
AlertDialog dialog = builder.show();
TextView msgTv = dialog.findViewById(android.R.id.message);
if (msgTv != null && Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
    msgTv.setJustificationMode(Layout.JUSTIFICATION_MODE_INTER_WORD);
}
  • 兼容说明
    Android系统直到API 26才在TextView层面新增了原生两端对齐的支持,这也是低版本很难实现该效果的核心原因。如果需要兼容API 26以下版本且不想引入自定义TextView,目前没有完美的系统原生方案,可选择接受低版本下对齐效果降级为左对齐,或引入第三方两端对齐TextView后按上述逻辑注入对话框即可。

内容的提问来源于stack exchange,提问作者Rafael Lima

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 13:45:03