|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
又盲看一些关于Objective-C的一些语法基础和规则。之前有一定的C和C++还有Java的基础,所以看起来还是不会很吃力的,各种语言的思想相差还是不会很大的。在上一篇文章中,我们完成了文本时钟显现工夫的功效,而且公布到了GooglePlay上。文本时钟的基础功效已完成,但另有一些待优化提拔的中央。在这篇文章中,我们将找出这些中央并举行优化。
起首,我们要优化文本时钟的显现字体。如今我们的小程序看起来是这个模样:
<br>
“小时”利用加粗字体,“分钟”利用一般字体。分钟字体略微细一点,会有加倍分明的对照效果。侥幸的是,Roboto(Android4.0的默许字体)有一种特别的“light”字体,能够很好的满意我们的请求。但这也形成一个成绩,这类特别的“light”字体是在Android4.3版本中引进的,只在该版本的设备上可用。并且,直到在Android4.0版本中,才将Roboto作为默许字体,怎样兼容低版本的设备呢(我们的app要兼容到Android1.5)?
一种可行的办法是,在APK安装包中增加运转时静态加载的自界说字体。AndreasNislsson写过一篇十分出色的文章具体报告了怎样利用该办法,而且供应了一些优化技能。运转时加载自界说字体,是一种很不错的办理办法,但另有一个成绩。
如今(译注:文章写于2013年3月)的安卓版本(Android4.3)还不撑持利用XML大概styles文件自界说字体。今朝还没有供应将XML映照到主题的机制,因而必需手动加载。能够在代码中挪用TextView的setTypeface()办法,可是不克不及间接失掉TextView对象。可使用RemoteViews失掉窗体小部件(Widget)的结构视图,但这个类不撑持在代码中静态改动TextView字体。
除勉力向后兼容文本时钟的显现字体,我们也能够换种体例——修正现有设备已撑持的字体。Android4.0之前,利用体系默许的字体,Android4.0利用Roboto字体,Android4.3利用特别的“light”的字体。实践上,在用户团体的设备上坚持显现字体的分歧性,也是一种明智的办理办法。假如用户在他的设备上看到,一切的App都在利用DroidSans字体,那我们的App利用DroidSans字体也就通情达理。
怎样完成如许的功效呢?实践上很复杂,不用在良多中央援用Roboto字体,只需在Styles.xml文件中如许界说:
<p>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?xmlversion="1.0"encoding="utf-8"?>
<resources>
<stylename="hoursTextWidget">
<itemname="android:textSize">@dimen/widget_text_height</item>
<itemname="android:textColor">@color/holo_blue_bright</item>
<itemname="android:textStyle">bold</item>
</style>
<stylename="minutesTextWidget"parent="hoursTextWidget">
<itemname="android:textColor">@color/holo_blue_light</item>
<itemname="android:textStyle">normal</item>
</style>
<p></ |
|