Assets和Res的区别以及对Textview字体的设置
来源:互联网 发布:口碑好的java培训机构 编辑:程序博客网 时间:2024/05/09 12:44
我们来先看看android工程文件下的Assets和Res文件有什么区别?
相同点: 都可以用来存放资源,例如字体文件不会编译成二进制文件
不同点:1.asset文件内东西不会在R文件中生成相应的标记并通过AssetManager进行访问获取资源,res文件的资源会在R文件生成相应的标记,通过Id获取资源2.asset可以自己创建文件夹,而res有固定的那几个比如 res/xml res/anim res/raw 3.打包时,asset中的资源不管三七二十一都会打入程序中,而res文件会判断是否用到,没用到的不会打入包里
Asset文件中我们也可以存放一些json文件,从而读取他们(以流的形式)
<span style="font-size:18px;"> InputStream assetsStream = null; StringBuffer dataBuffer = new StringBuffer(); try { assetsStream = MainActivity.this.getAssets().open("my_json.json"); byte[] data = new byte[1024]; int bufferLength = 0; while ((bufferLength = assetsStream.read(data)) > 0) { dataBuffer.append(new String(data,0,bufferLength)); } } catch (IOException e) { e.printStackTrace(); }finally { if(assetsStream != null) { try { assetsStream.close(); } catch (IOException e) { e.printStackTrace(); } } }</span>读取asset文件下的字体文件
<span style="font-size:18px;"> typeface=Typeface.createFromAsset(getAssets(), "fonts/a_caslon_pro_regular.ttf");</span>上面看见了吧 我们可以下在assets文件下创建fonts文件夹来存放字体文件
接下来我们来讲讲如何对TextView设置字体
1.可以通过html来实现
2.可以通过assets文件下的ttf字体文件来设置
3.综合利用上面的两种方法
4.设置style(这里 这个方法 就忽略了 基本大家都会)
那么我们来看看如何操作吧!!!
方法一:可以通过html来实现
1.通过Hbuilder来编写一段html代码 我们可以直接运行看到效果
2.通过Html.fromHtml()方法实现
代码如下:
<span style="font-size:18px;"> <TextView android:id="@+id/text" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="32sp" /></span>
<span style="font-size:18px;"> String s = " <p color=\"#000000\" style=\"background: #1B6D85;\"><big>H</big>ARD <big>W</big>ORK</p>"; tv=(TextView)findViewById(R.id.text); tv.setText(Html.fromHtml(s));</span>
方法二:可以通过assets文件下的ttf字体文件来设置
1.我们在main文件下新建assets文件再在其文件下新建fonts文件然后把自己的ttf字体文件考入
2.用Typeface.createFromAsset()找到字体文件
3.对应控件设置字体
代码如下:
<span style="font-size:18px;"> <TextView android:id="@+id/text1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Work Hard" android:textSize="32sp" /></span>
<span style="font-size:18px;"> tv1=(TextView)findViewById(R.id.text1); typeface=Typeface.createFromAsset(getAssets(), "fonts/a_caslon_pro_regular.ttf"); tv1.setTypeface(typeface);</span>
方法三:综合利用
代码如下:
<span style="font-size:18px;"> <TextView android:id="@+id/text2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Work Hard" android:textSize="32sp" /></span>
<span style="font-size:18px;"> tv2=(TextView)findViewById(R.id.text2); tv2.setText(Html.fromHtml(s)); tv2.setTypeface(typeface);</span>
效果如下:
0 0
- Assets和Res的区别以及对Textview字体的设置
- android res目录 以及和assets的区别
- assets和res/raw的区别
- res下raw和assets的区别
- assets和res/raw的区别
- res/raw和assets的区别
- assets和res/raw的区别
- Android中res/raw和assets的相同点和区别
- Android res/raw和assets的区别和使用
- assets和res区别
- Android中res文件夹和assets文件夹的区别
- assets目录和res/raw目录的区别
- Android文件目录res和assets的区别
- Android assets res 文件夹的区别
- assets 与 res/raw的区别
- android res与assets资源的区别
- res/raw与assets目录的区别
- android res与assets资源的区别
- C++中sort,upper_bound,lower_bound,*max_element,unique用法介绍
- POJ 3311 Hie with the Pie
- 深入理解Java Class文件格式(五)
- Codeforces Round #368 (Div. 2) A,B,C,D
- Pycharm超使用快捷键
- Assets和Res的区别以及对Textview字体的设置
- HDU1016
- 新网站需要修改的
- 齐次坐标
- jzoj 1151. 【克罗地亚】pjesma
- 深入理解Java Class文件格式(六)
- 一个经典例子让你彻彻底底理解java回调机制
- 【NOIP 模拟题】Mason数(高精乘+结论)
- webrtc视频引擎之video_render(视频渲染)介绍