使用自定义字体为警报对话框项目设置字体

2024-02-27

我正在这样创建一个警报对话框:

AlertDialog.Builder alertDialog = new AlertDialog.Builder(view.getContext());
alertDialog.setCustomTitle(null);
alertDialog.setItems(getAllListNames(), new DialogInterface.OnClickListener() {
  @Override
  public void onClick(DialogInterface dialogInterface, int i) {
      //Doing something awesome...
  }
});

我知道它会为我的项目创建一个列表视图,我想为它们设置带有自定义字体的字体,并为每个列表项设置最大字符数,我该怎么做?


您必须创建一个自定义主题。这是官方指南:http://developer.android.com/guide/topics/ui/themes.html http://developer.android.com/guide/topics/ui/themes.html :)

像这样的东西(在style.xml file):

<style name="CustomFontTheme" parent="android:Theme.Light">
    <item name="android:textViewStyle">@style/MyTextViewStyle</item>
    <item name="android:buttonStyle">@style/MyButtonStyle</item>
</style>

<style name="MyTextViewStyle" parent="android:Widget.TextView">
    <item name="android:fontFamily">sans-serif-light</item>
</style>

<style name="MyButtonStyle" parent="android:Widget.Holo.Button">
    <item name="android:fontFamily">sans-serif-light</item>
</style>

然后,当您创建对话框时,您可以执行以下操作:

Context context = new ContextThemeWrapper(view.getContext(), R.style.CustomFontTheme)
AlertDialog.Builder alertDialog = new AlertDialog.Builder(context);

Where R.style.CustomFontTheme是您创建的它们的 id。


Update:

好的,要添加自定义字体,您可以遵循以下要点:https://gist.github.com/artem-zinnatullin/7749076 https://gist.github.com/artem-zinnatullin/7749076

关键是当应用程序启动时覆盖给定的字体,如下所示:

TypefaceUtil.overrideFont(getApplicationContext(), "AWESOME-FONT", "fonts/Awesome-Font.ttf");

要点有该方法的实现。

所以主题样式现在应该如下所示:

<style name="MyTextViewStyle" parent="android:Widget.TextView">
    <item name="android:fontFamily">awesome-font</item>
</style>

<style name="MyButtonStyle" parent="android:Widget.Holo.Button">
    <item name="android:fontFamily">awesome-font</item>
</style>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用自定义字体为警报对话框项目设置字体 的相关文章

  • 是否可以以编程方式更改操作栏选项卡指示器

    如何以编程方式更改操作栏的选定选项卡指示器 我读过关于选项卡样式 http developer android com guide topics ui actionbar html Style和 Tab setCustomView 方法 但
  • Android GooglePlayServicesUtil.getErrorDialog() 不显示对话框

    我正在尝试检查是否可用Google Play 服务 APK在使用它之前 我有一个 软件包已过期的设备 日志显示 Google Play 服务已过时 需要 3225100 但找到 3136134 下面的代码将处理这种情况并显示一个对话框 提示
  • 可序列化对象的 ArrayList 的加密保存和解密加载

    我在 SD 卡中保存并加载一个文件 其中包含ArrayList使用这两种方法的可序列化对象 保存方法 public static void saveUserList ArrayList
  • 序列化 ArrayList

    我正在尝试编写一个 Android 游戏 即使用户想要返回主菜单或者活动被系统终止 我也希望能够暂停游戏 onSaveInstanceState 似乎并没有给我很大的控制权来决定何时可以读回捆绑包 而且据我所知 捆绑包仅在短时间内有效 所以
  • 如何创建轮播ViewPager?

    我想做的只是 Android 中的水平轮播 如果我有 3 个屏幕 A B 和 C 那么我希望我的 ViewPager 允许我像这样移动 A B B C C A GTalk for Android 的对话可以这样切换 三星的主屏幕和应用程序屏
  • MissingDimensionStrategy 无处不在 - 有没有更好的方法?

    我有一个图书馆项目 让我们称之为lib1有定制的flavorDimensions指定的 更准确地说有buld尺寸与实际口味full and production 该库被另一个库项目使用 lib2 没有自定义flavorDimensions指
  • 在 flutter 应用程序中添加启动屏幕的正确方法是什么?

    我正在开发一个基于 flutter 的应用程序 并研究了几种添加闪屏的方法 但我不确定哪一个是最好实现的 import dart async import package flutter material dart import packa
  • 更改 Android 应用程序的所有字体[重复]

    这个问题在这里已经有答案了 如何更改 Android 应用程序的整个字体 以前我看到这个帖子 https gist github com artem zinnatullin 7749076在 github 上 该解决方案仅适用于低于 api
  • 如何将参数传递给Workmanager DoWork方法

    我想安排任务在 24 小时后从数据库中删除 public class WorkManager extends Worker public WorkManager NonNull Context context NonNull WorkerP
  • 如何在Android中创建类似架子的视图?

    如何在android中创建一个类似书架的视图 在任意行中显示多本书 此外 它应该具有像 Moon reader 应用程序那样的水平和垂直功能 我可以编写一个水平移动的架子视图 但它不能完全工作 我使用 xml 文件来查看包含图像 文本和按钮
  • 在 Android Studio 中调试服务的正确方法?

    在 Android Studio 中调试服务有正确的方法吗 或者 Android Studio 无法做到这一点 当我尝试调试时 它只会断开套接字 与目标虚拟机断开连接 地址 localhost 8600 传输 socket 希望你能在这里帮
  • Android view.animate() 第一次执行后工作方式不同且错误

    我已经实现了一个横幅 每当用户失去连接时就会弹出 重新连接后 另一个横幅会显示几秒钟然后消失 布局是一个RelativeLayout 其中一个灰色的TextView 表示警告 一个绿色的TextView 表示重新连接消息 如果我只是更改 V
  • Android studio 3.0不生成签名的apk

    将 android studio 更新到版本 3 0 Windows 后 我无法生成签名的 APK 构建完成后 我收到消息 单击 查找 会将我带到 APP 文件夹 但找不到 APK 改变了什么 自Android Studio 3 0更新后
  • 如果使用键盘,如何捕获 TimePicker 中的时间变化?

    我有一个小部件 它是一个 TimePicker 用于检索数据库字段中保存的时间 问题是 当用户更改小部件中的时间值时 这不会保存在数据库中 所以我遇到了setOnTimeChangedListener如果您只在小部件中使用加号和减号 那么该
  • 更新到 3.2.0 后 Gradle 构建失败

    因此 在将 Gradle 插件更新到 3 2 0 并将 gradle wrapper 更新到 4 6 后 我遇到了问题 Android Studio 版本是 3 2 使用 Gradle 版本 即 alpha 11 也没有结果 什么地方出了错
  • Android:调用超类的原因?

    我正在查看 Android 开发人员网站上的记事本教程 我有一个关于调用活动超类的重写函数的问题 例如 public class Notepadv3 extends ListActivity Override public boolean
  • Android 上的 Facebook 社交插件

    我想集成 Facebook 的评论社交插件 https developers facebook com docs reference plugins comments https developers facebook com docs r
  • 如何在列表视图中选择时启用视频序列自动播放?

    大家好 有人可以与我分享一下我如何编写我的 viewvideo java 类 以便它允许自动播放视频功能 自动排序在列表视图中播放所选视频的任务 从当前位置到最新录制的视频 按顺序直到最新的视频播放完毕 这类似于 YouTube 自动播放功
  • ListPreferences 的异常

    这是我的第一个 Android 应用程序 在尝试使用 ListPreference 时遇到了异常 应用程序与首选项一起加载 但是当我触摸 ListPreference 条目时 应用程序 意外停止 设置 java public class S
  • 如何在Android手机上而不是模拟器上运行或调试?

    Android 模拟器速度太慢 无法测试运行的应用程序 有没有办法使用 IDE 而不是模拟器在真实手机上调试 运行应用程序 通常 您可以在手机上打开 USB 调试 然后通过 USB 将其连接到 PC 然后 手机将以与模拟器相同的方式出现在

随机推荐