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

时间:2014-01-06 22:10:01

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

我正在尝试设置ActionBarCompat标题文本的样式,我无法找到任何本机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方法中完成,当我尝试按照我想要的方式将其设置回代码时,由于某种原因第二次无法工作,是否有人知道我可以制作我需要的字符并保持永久性或在如果需要,至少重置它?任何帮助都会有很长的路要走,谢谢

1 个答案:

答案 0 :(得分:1)

刚想通了,我无法再次设置样式的原因是因为我认为因为我为textview创建的变量是全局的,所以我不需要再次像id那样引用视图通常可以使用

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);
再次,它将重复工作,我相信这将有助于将来的其他人