首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

Android 自定義字體 TextView 添加漸變與陰影效果

     編輯:程式設計綜合問答

代碼實現漸變文字

TextView tv = findViewById(R.id.custom_text);
Typeface tf = Typeface.createFromAsset(getAssets(), "fonts/gillsans.ttf");
tv.setTypeface(tf);

// 線性漸變 Shader:從左到右,三色過渡
Shader shader = new LinearGradient(
    0, 0, tv.getPaint().measureText(tv.getText().toString()), tv.getTextSize(),
    new int[]{Color.parseColor("#B4E391"), Color.parseColor("#61C419"), Color.parseColor("#B4E391")},
    new float[]{0, 0.5f, 1},
    Shader.TileMode.MIRROR
);
tv.getPaint().setShader(shader);

XML 設置陰影

<TextView
    android:id="@+id/custom_text"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="99%"
    android:textSize="25sp"
    android:shadowColor="#67587686"
    android:shadowDx="5"
    android:shadowDy="5"
    android:shadowRadius="3"
    android:gravity="center" />

效果組合

Shader 負責文字填充顏色(漸變、圖片紋理等),shadow* 屬性負責描邊/投影效果,兩者疊加產生立體感。

注意

  • getPaint().measureText() 需在佈局完成後調用(如 onWindowFocusChanged 或 ViewTreeObserver),否則寬度為 0。
  • 自定義字體文件放在 assets/fonts/ 目錄。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved