我无法在屏幕方向更改时保留应用程序标签的字体。目前我在SherlockFragmentActivity的onCreate方法中使用以下代码设置字体。
titleId = Resources.getSystem().getIdentifier("action_bar_title", "id", "android");
if(titleId == 0)
titleId = com.actionbarsherlock.R.id.abs__action_bar_title;
mAppName = (TextView) findViewById(titleId);
Typeface face = Typeface.createFromAsset(getAssets(), "fonts/handsean.ttf");
mAppName.setTypeface(face);
在方向更改时,字体将恢复为默认值。我尝试使用manifest.xml保存状态,但它没有帮助。它保留除标签字体以外的所有内容。有人可以建议如何做到这一点?
感谢您停下来阅读这篇文章。
答案 0 :(得分:1)
您是否尝试过设置android:configChanges="orientation"
并使用onConfigurationChanged()
处理方向更改?
编辑:还解释了here为什么它无法运作。
答案 1 :(得分:0)
**Yes we can do this.
Override onConfigurationChanged
set the action bar title inside a handler with a delay of 200.**
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
//your code to set the action bar title
setActionBarTitle(title);
}
}, 200);
}