【发布时间】:2014-02-20 23:18:49
【问题描述】:
如何在不更改最低 api 级别 11 的情况下将自定义字体(Kulturista _Bold.ttf)添加到操作栏并将文本颜色更改为#ffffff
【问题讨论】:
如何在不更改最低 api 级别 11 的情况下将自定义字体(Kulturista _Bold.ttf)添加到操作栏并将文本颜色更改为#ffffff
【问题讨论】:
请参阅this,它可能对您有用
【讨论】:
使用您应该具有向后兼容性的支持库。将支持库导入您的工作区,可以在~/adt-bundle-linux-x86_64-20130729/sdk/extras/android/support/v7/appcompact 中找到并在您的项目中使用。并且不要忘记添加支持库,它可以在您的项目中右键单击并输入Android Tools -> Add Support Library
使用appcompact,您必须使用ActionBarActivity 扩展您的活动类。并且还使用appcompact,您必须在您的样式文件夹中进行更改。你可以参考this。不要忘记更新values-v11 和values-v14 文件。完成所有这些将使您的应用程序兼容。
附:如果您的 appcompact 库中出现任何错误。不要惊慌查看错误日志并打开似乎包含错误的文件。很可能您必须刷新文件,然后您只需 fix project properties,错误就会消失。
对于自定义字体,添加到assets:
创建一个帮助类来初始化字体:
public class Utils {
public static Typeface fontsStyle;
public static void TypeFaceOne(TextView tv, AssetManager asm){
fontsStyle=Typeface.createFromAsset(asm, "fonts/Roboto-Bold.ttf");
tv.setTypeface(fontsStyle);
}
}
最后为actionbar使用自定义视图:
this.getSupportActionBar().setDisplayShowCustomEnabled(true);
this.getSupprotActionBar().setDisplayShowTitleEnabled(false);
LayoutInflater inflator = (LayoutInflater)this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View v = inflator.inflate(R.layout.customabview, null);
//customize text
Utils.TypeFaceOne(textview, getAssets());
textview.setTextColor(Color.parseColor("#FFFFFF"));
this.getSupportActionBar().setCustomView(v);
希望这会有所帮助:)
【讨论】: