现在的位置: 首页 > 综合 > 正文

Demo整理(一)—– 字体竖直排版的实现

2013年10月02日 ⁄ 综合 ⁄ 共 1282字 ⁄ 字号 评论关闭

       整理一下自己收集的一些源代码,加上自己的一些分析记录下来,方便自己以后查阅。

       字体的竖直排版是通过继承view写的一个TextViewBertical类实现的,在main.xml中使用了HorzontalScrollView控件,实现了水平的欢动,把自定义的TextViewVertical直接放在HorzontalScrollView中。

<?xml version="1.0" encoding="utf-8"?>
<HorizontalScrollView xmlns:android="http://schemas.android.com/apk/res/android"
     android:id="@+id/sv"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="#ffffffff" >
    <org.guyue.TextViewVertical android:id="@+id/tv"
        android:layout_width="wrap_content"
        android:layout_height="fill_parent"
        android:background="@null" 
        textSize="60"/>
</HorizontalScrollView>

   然后直接在TestFontActivity中找到相应的控件, 

   tv=(TextViewVertical)findViewById(R.id.tv);        

   sv=(HorizontalScrollView)findViewById(R.id.sv);

接着进行相应的字体设置,

         Typeface face=Typeface.createFromAsset(getAssets(),"fonts/stxingkai.ttf");
         tv.setTypeface(face);
         
         //设置文字内容
         tv.setText("测试\n这是一段测试文字,主要是为了测试竖直排版TextView的显示效果。" +
         		"为了能更好的体验感受,我特意增加了比较接近书法的字体和颜色," +
         		"\n竖直排版的TextView需要配合HorizontalScrollView使用才能有更佳的效果。当然,如果你有时间的话,也可以给这个类" +
         		"加上滚动的功能。");

       主要功能的实现都是放在了自定义的TextViewVertical类中,对一些view的属性进行了设置(设置文字,字体大小,字体颜色,设置宽度),还有一些对字体宽和高的处理计算,行间距的设置,背景的设置,最后通过画笔将其设置的信息展现出来。通过这个例子可以看出,如果想实现更好的效果还是自己去实现一些类的定义,通过android中提供的最原始的功能去绘制出自己的功能,对Matrix Paint onDraw canvas内容的理解

源码下载地址:

http://download.csdn.net/detail/walker02/4208542






抱歉!评论已关闭.