Мне нужно разработать приложение, в котором можно динамически менять стиль заголовка панели действий.Невозможно редактировать заголовок панели действий после ориентации
В пытались добиться этого путем доступа к экшен бар следующим образом:
(TextView) findViewById(
Resources.getSystem().getIdentifier(
"action_bar_title",
"id",
"android"
)
);
я изменить стиль так же, как нормальный TextView.
Это похоже на работу, прежде чем мобильный телефон изменит ориентацию.
После изменения ориентации, однако, я все еще могу получить TextView (т. Е. Не вернуть null) указанным выше кодом, но изменения в текстовом виде больше не отражаются.
Возможно, кто-нибудь знает почему?
================================================================================================================================== ================
Спасибо за быстрый ответ, код я использовал для изменения 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 i не является заголовком Action Bar.
Рассмотрим также добавить код, используемый для изменения TextView ... – Kris