Demo整理(一)----- 字體豎直排版的實現

       整理一下自己收集的一些源代碼,加上自己的一些分析記錄下來,方便自己以後查閱。

       字體的豎直排版是通過繼承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






發佈了32 篇原創文章 · 獲贊 3 · 訪問量 55萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章