2

我无法在屏幕方向更改时为我的应用程序标签保留字体。目前我在 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 保留状态,但没有帮助。它保留了除标签字体之外的所有内容。有人可以建议如何做到这一点吗?

感谢您停下来阅读这篇文章。

4

2 回答 2

1

您是否尝试过设置android:configChanges="orientation"和处理方向更改onConfigurationChanged()

编辑:这里也解释了为什么它不起作用。

于 2013-02-14T22:51:33.927 回答
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);
    }
于 2015-04-29T13:09:40.553 回答