我是靠谱客的博主 从容奇迹,最近开发中收集的这篇文章主要介绍serif在java中什么意思_Java代码中的“android:fontFamily =”sans-serif-light“相当于什么?...,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

Java代码中的“android:fontFamily =”sans-serif-light“相当于什么?

我的问题很简单:

在我的每个textview中,我正在使用该属性

android:fontFamily="sans-serif-light"

在后置慧聪设备上提供华丽外观。

不幸的是,这不适用于每个部件和我的Spinners,我需要覆盖适配器。

@Override public View getView(int position, View convertView, ViewGroup parent) { //You can use the new tf here. if(convertView == null || convertView.getTag() == null) { // new view - populate convertView = inflater.inflate(android.R.layout.simple_spinner_dropdown_item, parent, false); convertView.setTag(new Object()); } CheckedTextView spinner_text=(CheckedTextView) convertView.findViewById(android.R.id.text1); //Typeface should be set here... return spinner_text; } }

那么,有没有办法通过代码获得完全相同的结果?

PS:不,我不想在资产文件夹里放一个字体,我只想用系统一个。

应该可以用setTypeface()和Typeface.create() :

convertView.setTypeface(Typeface.create("sans-serif-light", Typeface.NORMAL));

请参阅文档 :

创build一个给定姓氏的字体对象,以及选项样式信息。 如果名称传递为null,则将select“默认”字体。 可以查询得到的字体对象( getStyle() )来发现它的“真实”风格特征。

请注意,过分使用Typeface.create()对您的内存不利,正如此评论所述 。 build议的Hashtable是一个很好的解决scheme,但是你不得不稍微修改它,因为你没有从资产创build你的字体。

在我看来,仍然有一种方法可以在TextView上以编程方式应用系统字体, 而不会有任何内存问题 ,并且使用textview.setTextAppearance方法:

if(condition){ textView.setTextAppearance(context,R.style.styleA); }else{ textView.setTextAppearance(context,R.style.styleB); }

这将是可能的通过使用

TextView类的setTypeface(Typeface tf, int style)方法。

spinner_text.setTypeface(Typeface.SANS_SERIF,Typeface.NORMAL);

dynamic的,你可以使用这个在xml中设置类似于android:fontFamily的fontfamily,

For Custom font: TextView tv = ((TextView) v.findViewById(R.id.select_item_title)); Typeface face=Typeface.createFromAsset(getAssets(),"fonts/mycustomfont.ttf"); tv.setTypeface(face); For Default font: tv.setTypeface(Typeface.create("sans-serif-medium",Typeface.NORMAL));

这些是所使用的默认字体系列的列表,使用任何这个replace双引号string“sans-serif-medium”

FONT FAMILY TTF FILE 1 casual ComingSoon.ttf 2 cursive DancingScript-Regular.ttf 3 monospace DroidSansMono.ttf 4 sans-serif Roboto-Regular.ttf 5 sans-serif-black Roboto-Black.ttf 6 sans-serif-condensed RobotoCondensed-Regular.ttf 7 sans-serif-condensed-light RobotoCondensed-Light.ttf 8 sans-serif-light Roboto-Light.ttf 9 sans-serif-medium Roboto-Medium.ttf 10 sans-serif-smallcaps CarroisGothicSC-Regular.ttf 11 sans-serif-thin Roboto-Thin.ttf 12 serif NotoSerif-Regular.ttf 13 serif-monospace CutiveMono.ttf

“mycustomfont.ttf”是ttf文件。 path将在src / assets / fonts / mycustomfont.ttf中 ,您可以参考有关默认字体的更多信息

最后

以上就是从容奇迹为你收集整理的serif在java中什么意思_Java代码中的“android:fontFamily =”sans-serif-light“相当于什么?...的全部内容,希望文章能够帮你解决serif在java中什么意思_Java代码中的“android:fontFamily =”sans-serif-light“相当于什么?...所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(38)

评论列表共有 0 条评论

立即
投稿
返回
顶部