这可能是一个非常简单的问题,但目前我无法对其进行排序。
我的行动设置如下:
// get action bar
ActionBar actionBar = getSupportActionBar();
// set up the action bar layout
final ViewGroup actionBarLayout = (ViewGroup) getLayoutInflater().inflate(R.layout.actionbar_layout,null);
// apply layout
actionBar.setCustomView(actionBarLayout);
我尝试按如下方式设置操作栏标题:
// setting action bar title
actionBar.setTitle(getResources().getString(R.string.testing_title));
这正确应用了标题,问题是tests_title在字符串文件中的格式如下:
<string name = "testing_title"><b>Testing</b>Testing</string>
所以第一个'测试'应该是粗体,第二个正常。问题是两者都没有胆量。有谁知道我应该在这做什么?
在我的操作栏自定义布局中,我有一个文本视图,我用它来显示标题,并在此处找到类似的答案:
private void setActionBarTitle(String title, ActionBar ab)
{
View v = ab.getCustomView();
TextView titleTxtView = (TextView) v.findViewById(R.id.actionBarTitle);
titleTxtView.setText(title);
}
然后我这样称呼它:
setActionBarTitle(getResources().getString(R.string.audioWalks_title), actionBar);
然而,这并没有产生任何结果。
如果有人可以得到任何帮助我会很感激。
答案 0 :(得分:1)
错误必须在这里
// setting action bar title
actionBar.setTitle(getResources().getString(R.string.testing_title));
java.lang.String不能包含spans。尝试获取CharSequence参考。
actionBar.setTitle(getResources().getText(R.string.testing_title));
答案 1 :(得分:1)
正如我在评论中建议的那样,我建议使用Html.fromHtml(String)
方法。您仍然可以将字符串保留在资源中,这就是为什么我说 decode ;)
所以我在android-developers找到了一些非常令人兴奋的东西。如果您没有使用格式化数字,则只需执行此操作:
private void setActionBarTitle(String title, ActionBar ab)
{
View v = ab.getCustomView();
TextView titleTxtView = (TextView) v.findViewById(R.id.actionBarTitle);
titleTxtView.setText(Html.fromHtml(title));
}
答案 2 :(得分:0)
试试这个:
private void setActionBarTitle(String title, ActionBar ab)
{
View v = ab.getCustomView();
TextView titleTxtView = (TextView) v.findViewById(R.id.actionBarTitle);
titleTxtView.setTypeface(null, Typeface.BOLD);
titleTxtView.setText(title);
}