有多少Android用户会手机 h5 自定义 字体手机字体

当前位置 & &
& 8种个性:UC手机浏览器首推字体自定义
8种个性:UC手机浏览器首推字体自定义
20:31:50&&作者:
编辑:上方文Q &&)
让小伙伴们也看看:
阅读更多:
好文共享:
文章观点支持
文章价值打分
当前文章打分0 分,共有0人打分
[05-18][05-18][05-18][05-18][05-18][05-18][05-18][05-18][05-18][05-18]
登录驱动之家
没有帐号?
用合作网站帐户直接登录在我舍友的大力推荐下,我买了荣耀3C。不得不说,这孩子对手机产品好坏的判断还是可以的,她是第一批用户,后来我说想换手机,她就跟我推荐了。这周六她让我看照片,嘿,突然发现她把手机里的字体换成仿宋体的了。真有意思!我一直用的是默认字体,都审美疲劳了!你是不是也跟我一样司空见惯了系统简单儿单调的默认字体?你有你喜欢的第三方字体吗?你还在为系统自带的少的可怜的字体感到丑陋而抓狂吗?你还在为root后修改不了第三方字体而发愁苦恼吗?无限次的重启与更换你找到答案了吗?借用别人的教程贴,来给自己赚经验。。。嘿嘿,麻烦大家捧捧场吧!没看过的都过来顶顶!评论废话不多说,教程开始1、到设置-显示-字体样式,随便下载一个字体,先不要换,下载好就行了。然后退出。&评论2、网上下载一个你喜欢的第三方字体软件,比如字体管家,然后下载你喜欢的字体文件,后缀是**.ttf的,一定要看清楚你的字体.apk对应的是你那个字体**.ttf的文件。&评论3、关键一步了,用手机自带的文件管理器或者RE管理器,随便吧,找到本地-内部存储-HWThemes-HWFonts,这时,你会发现文件夹里已经有了一个系统下载的字体文件然后,你把第三方的字体文件(也就是你要换的那个字体ttf文件)复制到这个文件夹里。&评论4、如图交换两个文件的文件名。怎么交换,重命名而已。这就不要我细说了吧。。&评论5、再到设置-显示-字体样式,选择刚才随便下载的字体样式(我刚才选的的是丫丫体),然后应用,重启搞定!!评论
好的字体真可以让手机增色不少了
楼主能弄个视频就好了这个太复杂了吧
晕死这就是传说中的换字体这么简单
一会我去老爸的手机字体给他换之
我擦就换个字体还是这儿这么白活没意思
一个哥们也把字体换了,怎么感觉还没有原来的好的
这样就能把字体给换了?我得试试才会相信了
一会我去教教我女友让她也换了
我好想说:也忒专业了吧?
您需要登录后才可以发帖
其他登录方式:----------
发现了一个开源的第三方项目!!!真的屌炸天了
可以快速的全局设置!!!!
简直不敢详细,而且还事存在了好久的项目了!!&
方法很简单,就是使用github上的一个开源库,使用步骤只需要以下几步
在AndroidStudio中添加依赖,搜索calligraphy点击添加即可(如果还没有使用AndroidStudio,推荐切换到此google官方开发工具)自定义Application,在onCreate里面配置默认字体
CalligraphyConfig.initDefault(new CalligraphyConfig.Builder().setDefaultFontPath(&fonts/Roboto-Bold.ttf&).setFontAttrId(R.attr.fontPath).build());
在Activity中重写attachBaseContext方法(推荐使用一个BaseActivity,app中的所有Activity继承自BaseActivity)
super.attachBaseContext(CalligraphyContextWrapper.wrap(newBase));
这样,TextView的默认字体就成了你设置的Roboto-Bold字体,如果要单独对TextView设置其他字体,可以直接在xml中或style中使用fontPath,多种使用方法请参考github上Calligraphy的Readme文档和Sample示例程序。
----------
如果只是单独设置一两个,使用这个代码就可以了.别的方法不用考虑了,性能不怎么样,
https://docs.gradle.org/current/userguide/userguide_single.html
下面介绍了三种方案..但你可以不用看了,还是直接看下我写的这个总结吧
Typeface customFont = Typeface.createFromAsset(this.getAssets(), &fonts/YourCustomFont.ttf&);
TextView view = (TextView) findViewById(R.id.activity_main_header);
view.setTypeface(customFont);
如果只是单独设置一两个,使用这个代码就可以了.别的方法不用考虑了,性能不怎么样,
如果你是在Listview中使用.推荐下面的做法.
if(someTextView.getTypeface() !=null && !someTextView.getTypeface().equals(Typefaces.get(somecontext,someassetpath))
someTextView.setTypeface(Typefaces.get(somecontext,someassetpath);
public class Typefaces{
private static final Hashtable&String, Typeface& cache = new Hashtable&String, Typeface&();
public static Typeface get(Context c, String name){
synchronized(cache){
if(!cache.containsKey(name)){
Typeface t = Typeface.createFromAsset(
c.getAssets(),
String.format(&fonts/%s.ttf&, name)
cache.put(name, t);
return cache.get(name);
为何要这么写呢,因为不这么做,会导致频繁的GC!!然后你的程序就卡顿卡顿的.做得很流畅的是&澎湃&,他的字体很美,而且很流畅.
/p/android/issues/detail?id=9904#c7
/questions/2973270/using-a-custom-typeface-in-android
---------------------------------
1)Android默认方法 #1
你可以通过ID查找到View,然后挨个为它们设置字体。在单个View的情况下,它看起来也没有那么可怕。
Typeface customFont = Typeface.createFromAsset(this.getAssets(), &fonts/YourCustomFont.ttf&);
TextView view = (TextView) findViewById(R.id.activity_main_header);
view.setTypeface(customFont);
但是在很多TextView、Button等文本组件的情况下,我敢肯定你不会喜欢这个方法的。:D
2)Android默认方法 #2
你可以为每个文本组件创建一个子类,如TextView、Button等,然后在构造函数中加载自定义字体。
public class BrandTextView extends TextView {
public BrandTextView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
public BrandTextView(Context context, AttributeSet attrs) {
super(context, attrs);
public BrandTextView(Context context) {
super(context);
public void setTypeface(Typeface tf, int style) {
if (style == Typeface.BOLD) {
super.setTypeface(Typeface.createFromAsset(getContext().getAssets(), &fonts/YourCustomFont_Bold.ttf&));
super.setTypeface(Typeface.createFromAsset(getContext().getAssets(), &fonts/YourCustomFont.ttf&));
然后只需要将标准的文本控件替换成你自定义的就可以了(例如BrandTextView替换TextView)。
&com.your.package.BrandTextView
android:layout_width=&wrap_content&
android:layout_height=&wrap_content&
android:text=&View with custom font&/&
&com.your.package.BrandTextView
android:layout_width=&wrap_content&
android:layout_height=&wrap_content&
android:textStyle=&bold&
android:text=&View with custom font and bold typeface&/&
还有,你甚至可以直接在XML中添加自定义的字体属性。要实现这个,你需要定义你自己的declare-styleable属性,然后在组件的构造函数中解析它们。
为了不占篇幅介绍这么基础的东西,这里有一篇不错的文章告诉你怎么自定义控件属性。
在大多数情况下,这个方法还不赖,并且有一些优点(例如,切换字体粗细等等,字体可以在组件xml文件的typeface属性中定义)。但是我认为这个实现方法还是太重量级了,并且依赖大量的模板代码,为了一个替换字体的简单任务,有点儿得不偿失。
3)小调整的递归解决方案
理想的解决方案是自定义主题,然后应用到全局或者某个Activity。
但不幸的是,Android的android:typeface属性只能用来设置系统内嵌的字体,而非用户自定义字体(例如assets文件中的字体)。这就是为什么我们无法避免在Java代码中加载并设置字体。
所以我决定创建一个帮助类,使得这个操作尽可能的简单。使用方法:
FontHelper.applyFont(context, findViewById(R.id.activity_root), &fonts/YourCustomFont.ttf&);
并且这行代码会用来加载所有的基于TextView的文本组件(TextView、Button、RadioButton、ToggleButton等等),而无需考虑界面的布局层级如何。
标准(左)与自定义(右)字体的用法。
这是怎么做到的?非常简单:
public static void applyFont(final Context context, final View root, final String fontName) {
if (root instanceof ViewGroup) {
ViewGroup viewGroup = (ViewGroup)
for (int i = 0; i & viewGroup.getChildCount(); i++)
applyFont(context, viewGroup.getChildAt(i), fontName);
} else if (root instanceof TextView)
((TextView) root).setTypeface(Typeface.createFromAsset(context.getAssets(), fontName));
} catch (Exception e) {
Log.e(TAG, String.format(&Error occured when trying to apply %s font for %s view&, fontName, root));
e.printStackTrace();
正如你所看到的,所需要做的仅仅是将基于TextView的文本组件从布局中遍历出来而已。
你可以在这里下载到示例代码,里面有的具体用法。
在多个项目中,我都碰到过类似的需求,早期采用的是第二种实现方法,但是缺点在于对于第三方组件,你需要去修改别人的代码,才能实现自定义字体,这恰恰违反了OC(Open & Close)原则,对扩展开放,对修改封闭。
刚看到第三种的时候,也是惊为天人,姑且不说结果,我觉得这种活跃的思路非常重要,很值得学习参考。
但是最后被team里的人否决了,理由是违背组件设计原则,实现方式略嫌粗暴。后来我仔细想想,一个是要做好内存管理(似乎会引起内存问题),视图状态改变,也要重复加载(横竖屏、onResume等),也绝对不是简单的活儿。
所以暂定使用第一种方法,typeface使用单例,需要时设置字体。
我个人觉得第一种还是个体力活,而且到后来,这个代码重复率还是非常高的,这又违背了DRY原则。在地铁上的时候,突然想到DI(Dependency Inject)。已经有一些DI的框架,如ButterKnife,那写出来应该是这样:
@CustomFont(R.id.textView) TextView textView
@InjectView(id=R.id.textView, customFont=true) View anyView
@InjectView(id=R.id.textView, customFont=true, customFont=&fonts/ltfz.ttf&) View anyView
这样写出来代码相比重复写setTypeface要好一些。不过谷歌官方表示不推荐用这种注入,应为影响效率,小的demo快速开发可以考虑。
本文已收录于以下专栏:
相关文章推荐
文章目的:快速入门Android中自定义各种字体!
前言:我们都知道,Android中默认的字体是黑体,而大多数app也都是使用的这种字体,但我们发现,大多数app中,个别地方字体非常好看,例如ap...
项目需求使用微软雅黑作为全局字体,一个个改太麻烦了。找了很多中文材料,发现都是一篇,最后还是求助stackoverflow。
解决办法参考自/a/16...
做Android开发的时候,一些软件会要求一些特殊字体,我们需要引入外部的ttf格式的字体到程序中,具体操作步骤为:
在安卓应用程序的目录assets中新建fonts目录,将我们需要使用的ttf字体...
现在手机上字体美化软件越来越多,各种怪状各种风格的字体都有,
作为Android开发人员,应用中有时会需要强制使用某种字体(这样做会增大应用的内存消耗,而且字体包越大消耗内存越大),所以我们就需...
最近项目中涉及到一些其他平面的汉字或者别的文字的展示,具体的细节就不提了,那么怎么使用这些TTF字体文件呢,就需要借助于TypeFace这个类来实现。使用字体文件我们可以有两种方式使用字体文件:
将自定义字体添加到您的项目相比之前的版本,使用Android中的自定义字体将会变得更加容易,因为自定义字体设置为在Android O中成为完全支持的资源类型。这意味着向应用程序添加自定义字体将与添加任...
将自定义字体添加到您的项目相比之前的版本,使用Android中的自定义字体将会变得更加容易,因为自定义字体设置为在Android O中成为完全支持的资源类型。这意味着向应用程序添加自定义字体将与添加任...
昨天工作中偶然发现某款app的字体样式不是android自带的字体样式,看着很舒服。研究了一下发现还挺简单的。
1.从网上搜索一下字体格式文件(.ttf格式,百度上有很多)。下载,放置到eclip...
两种方法:
在assets目录下新建目录fonts,然后存放自己的字体库,我这里是微软雅黑weiruanyahei.ttf。
Typeface tf2 ...
自定义TextView 调用ttf格式字体
将ttf格式文件存放在assets/fonts/下
import android.content.C
import android.gra...
他的最新文章
讲师:董岩
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)安卓手机系统设置字体大小后与APP以及web端字体大小问题
最近在做一些有关html和App的一些混合式开发,在测试过程中发现,android手机系统设置了字体大小,app应用中和web服务端的页面(也就是html界面)字体都会有变化。下面我就在这次开发者中遇到的相关问题进行一个小小的总结。
1.情况发生,设置系统字体之后的前后对比
是不是发现字体变化还是很大的呢!
web端html和入app中,有些会出现兼容问题,有些机子并不会出现兼容问题。实际开发中,对于android的同学来说,只要有超过三种有这种问题就需要进行解决这个问题。小编在网络上找了很多的资料,发现,网络就是一个大杂烩,什么都有,但是有用的却很少,如何解决这个问题呢?其实并没有那么麻烦。
2.问题研究
1)app中字体大小不随着系统设置字体大小而改变是很容易的,但是需要确定您之前已经做过兼容测试,您的布局不会有兼容问题,也就是默认的系统设置的时候,也就是字体放大倍数为1.0的时候,不会有布局问题
这个时候只需要加入两行代码就能够轻松的解决这个问题,这个也是百度中就可以找到的。这里小编也只是做了一个代码的搬运工
&&&&&&& //防止字体被从新设置
DisplayMetrics displayMetrics = getResources().getDisplayMetrics()
displayMetrics.scaledDensity = displayMetrics.density
小编并不喜欢重复操作,所以我直接在环境类中加入了代码,代码如下
public class MyApplication extends YTBaseApplication {
public void onCreate() {
super.onCreate();
DisplayMetrics displayMetrics = getResources().getDisplayMetrics();
displayMetrics.scaledDensity = displayMetrics.
CrashHandler.getInstance().init(this);
是不是恨简单呢!
2)web端界面放入APP兼容问题
查了一些相关资料,发现都写的比较麻烦,并且不能够解决相关的问题,还好小编之前有做过web端html界面App兼容,顾发现,并没有百度回答的那么麻烦
从理论角度想就是你设置字体大小就是把当前的html界面字体的放大缩小倍数,顾我们只需要让我们的webview这个view’控制html的放大倍数为1.0,很多人知道也就是默认的大小就行,具体代码如何写呢!
&&&&&&& WebSettings webSettings = webView.getSettings()
webSettings.setTextZoom(100)
是不是发现其实超级简单呢!
希望本人的这篇文章对大家有用。未来的日子一起努力。
本文已收录于以下专栏:
相关文章推荐
在Android应用开发过程中,一定会碰到本来完美的布局,在系统字体大小设置【最大】时变成一团浆糊。解决办法网上也有很多,但是分析原理的却几乎没看到。但是作为开发人员必须懂得举一反三,而要举一反三就必...
昨天遇着这样一个Bug,系统设置里把字体设置为超大后并切换为英文模式下,程序中的字体便显示不全。
在这里总结一下,常用解决解决办法有两个:
一.把字体大小从textSize="18sp"设...
在app开发中,我们经常会限定字体大小,不跟随系统设定的字号变化。所以在编写页面时,会经常使用dp,而不是sp;...
从android4.0起系统设置的”显示“提供设置字体大小的选项。以三星s4为例,在“设置-我的设备-显示-字体大小”中选择,可以调整系统的字体。这个设置直接会影响到所有sp为单位的字体适配,所以很多...
在android开发中针对字体大小的设置,虽然google推荐使用sp作为字体的单位,但是如果用户在系统设置的”显示“中修改了系统默认的字体大小。就会直接影响到所有sp为单位的字体适配,所以很多app...
手机网页字体大小单位用em
解决因为手机设置字体大小导致h5页面在webview中变形的BUG首先,我们做了一个H5页面,在各种手机浏览器中打开都没问题。我们采用了rem单位进行布局,通过JS来动态计算网页的视窗宽度,动态设置h...
今天遇到一个问题:需要在Android 客户端控制webview网页中字体的大小,webview加载的内容是从服务端获取的html片段,我们知道webview,可以直接加载html片段(mWebVie...
今天有人问我,Android系统不同分辨率,不同大小的手机,字体大小怎么去适应呢?其实字体的适应和图片的适应是一个道理的。
原理如下:
假设需要适应320x240,480x320分辨率。在res...
今天在做项目时,碰到了要设置webview字体大小,以前用的时候也没设置过,因此也不会,于是到处找关于“如何设置webview字体大小”的资料,好多大神给出的答案都是各种判断,稍显麻烦,我是最怕麻烦的...
他的最新文章
讲师:董岩
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)今天25学堂继续跟大家分享和学习一些新的APP设计知识。不知道大家还知不知道什么是Android L吗?
如果不是很明白,可以先来看看欣赏。
APP设计常识解读:什么是Android L?
Android L就是Lollipop(棒棒糖),谷歌公司日推出的Android 5.0系统的代号。所以Android 5.0版本又俗称Android L版本。
看到上面的图没有,右边就是Android L的系统最原始的界面。左边是小米公司的MIUI6的界面。
miui6 是在Android L的基础进行改进的。 这回大家应该有所了解吧!
Android L的UI界面设计风格就是:Material Design
Android L 带来了全新的“Material Design”设计语言,看上去极具个性。Material Design主打干净排版和简单布局的设计风格,同时融入了丰富的色彩,具有更强的指向性。另外,它还支持多种设备,如手机、平板、电脑、电视等等,几乎涵盖了整个Android产品线,具有高度统一性。
如25学堂之前分享的:
这节课的主题是25学堂的跟大家2个非常棒的Android L界面设计常用字体边距规格对照表。
在这里,25学堂再来啰嗦一下:回顾下最新安卓设计字体:
Android 字体单位: SP
sp:Scale-independentpixels,它是安卓的字体单位,以160PPI屏幕为标准,当字体大小为 100%时,1sp=1px。
Android 系统允许用户自定义文字尺寸大小(小、正常、大、超大等等),当文字尺寸是“正常”时1sp=1dp=0.00625英寸,而当文字尺寸是“大”或“超 大”时,1sp&1dp=0.00625英寸。类似我们在windows里调整字体尺寸以后的效果——窗口大小不变,只有文字大小改变。
默认系统字体 英文:Roboto;中文:DroidSans Fallback 与微软雅黑很像
Android L界面设计常用字体边距规格对照表详细参数如下:值得大家好好的回顾和学习。
最后表格说明下:
对应上图中的:Xhdpi
需要了解该尺寸的设计规范请点击:
对应上图中的:XXhdpi
需要了解该尺寸的设计规范请点击:
本文标题:
本文地址:/allcode/9931.html
除非注明,本站文章均为原创或编译,转载请注明出处和原文链接,转载同时请务必保留原网站网址。
移动APP设计入门课程
为你推荐的相关文章
Copyright@
All Rights Reserved ICP备案号:桂ICP备号-2本站声明所有资源均是网上搜集或网友上传提供,如有侵犯您的版权,请及时联系我们(),我们将尽快处理。

我要回帖

更多关于 unity 自定义字体 的文章

 

随机推荐