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


    用过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备忘录,但是觉得精力有限了~吃完饭写文章到现在,但愿我和大家都有收获~

  • 相关阅读:
    [cf319E]PingPong
    [gym102979H]Hotspot2
    [luogu4156]论战捆竹竿
    [uoj422]小Z的礼物
    [atARC136F]Flip Cells
    [cf1446D]Frequency Problem
    回望2021,并小小展望2022
    ARC070F HonestOrUnkind 题解
    LOJ #6797. 「ICPC World Finals 2020」QC QC 题解
    洛谷P7712 [Ynoi2077] hlcpq 题解
  • 原文地址:https://www.cnblogs.com/chu888chu888/p/2381327.html
Copyright © 2020-2023  润新知