我需要开发一个应用程序,可以动态更改动作栏标题样式。定位后无法编辑动作栏标题
在试图通过下列方式访问操作栏标题来实现这一目标:
(TextView) findViewById(
Resources.getSystem().getIdentifier(
"action_bar_title",
"id",
"android"
)
);
然后我编辑的样式就像正常的TextView。
这似乎在手机改变方向前正常工作。
然而,在改变方向后,我仍然可以通过上面的代码获得TextView(即不返回null),但不再反映对textview的改变。
可能任何人都知道为什么?
============================================== ================
感谢您的快速回复,我用来修改的TextView代码:
@Override
public void onConfigurationChanged(Configuration newConfig)
{
super.onConfigurationChanged(newConfig);
int titleId = Resources.getSystem().getIdentifier("action_bar_title", "id", "android");
TextView title = (TextView) activity.findViewById(titleId);
title.setTextColor(Color.parseColor("#ff0000"));
title.setBackgroundColor(Color.parseColor("#00ff00"));
title.setText(""+ new Random().nextInt(9999));
}
方向改变后,方法onConfigurationChanged是被触发。 但是,操作栏标题TextView不再被反映。
我也可以使用titleView.getText()。toString()来获取我之前分配的正确文本。
但是,操作栏标题没有任何可见的更改。 我觉得我提取的TextView不是操作栏标题。
考虑也加入用于修改TextView的代码... – Kris 2014-09-03 15:37:08