java - 如何设置 Android ActionBarCompat 标题文本的样式

标签 java android android-actionbar android-actionbar-compat

我正在尝试设置 ActionBarCompat 标题文本的样式,但我无法找到任何 native ActionBarCompat 方法来完成我需要做的三件事:将文本颜色更改为白色,在文本底部添加一些填充,并更改文本字体,经过一些谷歌搜索后,我能够通过像这样通过 id 引用标题 textview 并正常应用更改来找到执行此操作的方法

    int titleId = Resources.getSystem().getIdentifier("action_bar_title",
            "id", "android");

    actionBarText = (TextView) findViewById(titleId);

    actionBarText.setPadding(0, 0, 0, 10);      
    actionBarText.setTypeface(textStyleThin);
    actionBarText.setTextSize(20);

但是我遇到的问题是,当设备旋转屏幕并更改方向时,标题文本会重置为其默认的黑色、原始填充和常规字体,更糟糕的是,我所做的更改似乎只能在 OnCreate 方法中完成,当我尝试在代码中将其设置回我想要的方式时,由于某种原因它不会第二次工作,有没有人知道我可以进行我需要的更改并将其永久保留或保留的方法如果需要至少重置它?任何帮助都会有很长的路要走,谢谢

最佳答案

刚弄明白,我无法第二次设置样式的原因是因为我假设因为我为 textview 创建的变量是全局的,所以我不需要像它一样再次通过 id 引用 View 通常有效,但是通过添加

int titleId = Resources.getSystem().getIdentifier("action_bar_title",
        "id", "android");

actionBarText = (TextView) findViewById(titleId);

调用之前

actionBarText.setPadding(0, 0, 0, 10);      
actionBarText.setTypeface(textStyleThin);
actionBarText.setTextSize(20);

再次它将重复工作,我相信这会在将来帮助其他人

关于java - 如何设置 Android ActionBarCompat 标题文本的样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20960236/

相关文章:

android - 当我使用域名而不是 IP 地址时 Red5Pro SDK 错误

Android SupportActionBar 在显示/隐藏时没有动画

Java jSoup - 从网络表中获取数据

java - 获得 token 后如何从 Google Plus API 获取电子邮件地址

java - 如何验证 ER.RTR.RT12345 的 URL 模式?

java - 用Spring在Redis存储库中查找

android - 查看具有大量 fragment 的寻呼机

android - 检测 Android 上已读的短信

java - 如何在android中自定义导航?

android - 我的 Logo 未显示在操作栏中的正确位置