1. 程式人生 > >Android 為文字添加發亮的效果(LED時鐘為例)

Android 為文字添加發亮的效果(LED時鐘為例)

首先我們要找到字型,字型下載連結在文章最下方

解壓之後選一個字型ttf檔案,將字型檔案存放在如圖所示的位置


建立繼承自TextView的LedTextView類(目的:設定字型)

public class LedTextView extends TextView {
    public LedTextView(Context context, AttributeSet attrs) {
        super(context, attrs);
        AssetManager assets = context.getAssets();
<span style="white-space:pre">	</span>//如下程式碼所示方式引用字型程式碼檔案
        final Typeface font = Typeface.createFromAsset(assets, "font/digital-7.ttf");
        setTypeface(font);
    }
}
這裡我們用兩個TextView重合來實現88:88:88的陰影,兩個TextView完全重疊,一個顯示陰影,一個顯示時間
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.example.darren.androidtest.MainActivity"
    tools:showIn="@layout/activity_main">
    />
    <!-- 用於顯示陰影-->
    <view.LedTextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:text="88:88:88"
        android:textColor="#3300FF00"
        android:textSize="80sp" />
    <!-- 用於顯示時間-->
    <view.LedTextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:shadowColor="#00FF00"
        android:shadowDx="0"
        android:shadowDy="0"
        android:shadowRadius="10"
        android:text="09: 15:30"
        android:textColor="#00FF00"
        android:textSize="80sp"
        />
</RelativeLayout>

這樣就基本實現了
參考資料:《打造高質量的Android應用》
字型下載連結:http://www.styleseven.com/data/font_digital-7.zip