【Based Android】让你的android应用使用可爱的iphone备忘录字体-阿里云开发者社区

开发者社区> 测试5555> 正文

【Based Android】让你的android应用使用可爱的iphone备忘录字体

简介: 用过iphone的朋友一定会很记得ios系统自带的备忘录,里面的字体非常的可爱,所以大家有没有想过把这个字体弄到你的android设备中呢?                    其实android提供了非常方便的字体导入了方法了,这里不得不提到一个几乎快被大家遗忘了的一个文件夹assets.
+关注继续查看

用过iphone的朋友一定会很记得ios系统自带的备忘录,里面的字体非常的可爱,所以大家有没有想过把这个字体弄到你的android设备中呢?

    

        

 

   其实android提供了非常方便的字体导入了方法了,这里不得不提到一个几乎快被大家遗忘了的一个文件夹assets.其实assets文件夹是用来放置程序要使用的资源的,和res下面的raw文件夹基本作用相同,起主要的区别有下面几点:

  •   在创建android project的时候assets会自动生成,raw文件夹需要带res下面手动创建
  •   assets下面的资源不会被编译成二进制文件,所以也不会生成id,所以只能用路径去引用;raw里面的文件也不会被编译成二进制但是可以用R.id引用。
  •   assets支持多级目录,而raw则不可以
 

   今天我们所需要的字体,就放在assets文件夹下面fonts子目录中:

    

   

    关于大家如何取得系统的字体,推荐一个小软件ifunbox,还需要一个破解的ios设备,安装好itunes,就是如下的界面

  就像windows的资源管理器一样,你可以搜索iphone的很多内置资源了,包括iphone备忘录的背景图,这次demo的例子中的字体,我并不是从这里面找的,是以前从网上下载的,有需要的可以联系我~分享一下。

 

  言归正传,如何使用这个字体,其实更确切的说是如何使用assets文件夹下面的资源。

  android提供了一个关键的类 AssetManager,和很多manager类一样,他就是提供读取assets文件的类。通过Context的方法getAssets就可以返回一个AssetMnaager对象。

  下面就是如何使用字体的代码:

  

 1     @Override
2 public void onCreate(Bundle savedInstanceState) {
3 super.onCreate(savedInstanceState);
4 setContentView(R.layout.main); //载入布局
5 Typeface myTypeface = Typeface.createFromAsset(getAssets(),"fonts/iosnote.ttf");
6 //实例化一个字体对象
7
8 TextView iostv = (TextView)findViewById(R.id.iosTextView);
9 iostv.setTypeface(myTypeface);
10 //载入ios中的字体
11
12 Log.i("YUI", this.getClass()+"is created!");
13 }

 

  

    在布局文件中,还是沿用上一篇博文中的例子吧,添加了一个新的TextView用来加载新的字体,而下面的TextView则用android默认的字体。

 1 <?xml version="1.0" encoding="utf-8"?>
2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
3 android:layout_width="fill_parent"
4 android:layout_height="fill_parent"
5 android:orientation="vertical" >
6
7 <TextView
8 android:id="@+id/iosTextView"
9 android:layout_width="fill_parent"
10 android:layout_height="wrap_content"
11 android:text="@string/ios"
12 android:textSize="24sp"
13 android:textStyle="bold"/>
14
15 <EditText
16 android:id="@+id/myText"
17 android:layout_width="fill_parent"
18 android:layout_height="@dimen/basic_button"
19 />
20
21 <TextView
22 android:id="@+id/defaultTextView"
23 android:layout_width="fill_parent"
24 android:layout_height="wrap_content"
25 android:text="@string/android"
26 android:textSize="24sp"
27 android:textStyle="bold"/>
28
29 </LinearLayout>

  好了现在就可看一看效果了。。。不过这个例子只是演示一下字体罢了,没有任何美学价值。。。。实用价值。。。

   

   上面的就是iphone备忘录的字体了~

    其实我一直想做一个和iphone一样的android备忘录,但是觉得精力有限了~吃完饭写文章到现在,但愿我和大家都有收获~

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
使用 Kustomize 帮你管理 kubernetes 应用(三):将 Kustomize 应用于 CI/CD
本篇为系列文章第三篇,使用 jenkins 发布一个简单的使用 flask 写的 web 项目,来演示在 CI/CD 流程中 Kustomize 的简单使用。
1989 0
SpringCloud迁移至EDAS微服务——Series2:在 ECS 集群中部署 Web 应用
SpringCloud迁移至EDAS微服务——Series2:在 ECS 集群中部署 Web 应用
1666 0
iOS6和iPhone5使用第三方静态库在真机无法运行的处理
环境: xcode5.1 ios7 在模拟器下正常运行的程序,在真机上出现下面的错误: ld: file is universal (3 slices) but does not contain a(n) armv7s slice: /Users/david/Downloads/QR code/QR code/ZBarSDK/libzbar.a for architecture armv7s 上面的提示是使用的libzbar这个库不支持armv7s。
742 0
Android等宽字体
Android等宽字体 效果图 在xml中设置 添加属性 android:typeface="monospace" 例如 在代码中设置 textview.
1065 0
+关注
测试5555
前端相关技术专家
511
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载