【问题标题】:Make TextView font look identical to Material Light AlertAialog's message area font使 TextView 字体看起来与 Material Light AlertAialog 的消息区域字体相同
【发布时间】:2018-01-06 18:24:43
【问题描述】:

如何设置 TextView 对象中的文本样式,使其看起来与库存材质灯 AlertDialog 相同?有关更多详细信息,请参见图像。我确实明白,如果我花了足够的时间,我可能可以模仿外观,但最好是获得操作系统提供的主题而不是硬编码东西。如果您能够帮助我弄清楚如何获得默认填充,则可以加分。

我可以使用此句柄设置与库存材料 AlertDialog 的 title 相同的样式

android:textAppearance="@android:style/TextAppearance.DeviceDefault.DialogWindowTitle"

但是对于 Material Light AlertDialog 的 消息(红色圈出的区域),我找不到与此等效的内容

非常感谢!

【问题讨论】:

  • 默认情况下,android studio sdk 在整个项目中使用相同的font
  • 结果非常接近但不准确

标签: java android android-alertdialog


【解决方案1】:

我最终只是制作了一个警告对话框并使用诸如 message.getCurrentTextColor() 之类的函数来获取属性。我运行我的代码,复制它们,然后将这些值粘贴/硬编码到 textview.setTextColor() 等中。

这是一种可怕的方法,而且浪费了大量时间,但没有其他人知道有什么方法可以做得更好。这不能防止对话框默认样式的随机变化,这些变化可能会随着 android 在美学上的演变/变化而发生。

这是我将文本颜色打印到日志中的示例

TextView tv = (TextView)alertDialog.findViewById(android.R.id.message);
Log.println(Log.ERROR,String.valueOf(tv.getCurrentTextColor()), String.valueOf(tv.getCurrentTextColor()));

【讨论】:

    【解决方案2】:

    最简单的 HTML 使用方式

    自定义文本

    它会很适合你

    你可以在 jlabel jtextvew jtextarea 或 jtextfield 中使用它

    所以使用 html :)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-05-03
      • 1970-01-01
      • 2021-05-28
      • 2020-07-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多