Androidアプリは、ユーザー定義のフォントでの実現方法を使用しています。


Androidシステム内蔵フォント
Androidシステム自体にはいくつかのフォントが内蔵されており、プログラムで使用できます。また、xml設定textViewの時にフォントを変更するスタイルにも対応しています。サポートフィールドはandroid:textStyle,android:typeface,android:font Famimilyで、システムはnormal bold_;italicの3種類のstyleを内蔵しています。normal,sans,serif,monoospace,いくつかのフォント(実際にはこれらのフォントは英語のみ有効です)。
カスタムフォントを使う
以上のようにフォントのスタイルを変更することができます。本当にカスタムされていません。AndroidシステムはTypeFace、つまりttfのフォントファイルをサポートしています。プログラムにttfフォントファイルを入れて、プログラムにTypefaceを使ってフォントを設定します。
最初のステップは、astesディレクトリの下にfontsディレクトリを新規作成し、ttfフォントファイルをここに置いてください。

第二ステップ、プログラムで呼び出します。

public class MainActivity extends AppCompatActivity {
   private TextView textView;
   @Override
   protected void onCreate(Bundle savedInstanceState) {
     super.onCreate(savedInstanceState);
     setContentView(R.layout.activity_main);
     textView= (TextView) findViewById(R.id.text);
     AssetManager assets = getAssets();
     Typeface fromAsset = Typeface.createFromAsset(assets, "fonts/fzlt.ttf");
     textView.setTypeface(fromAsset);
  }
}
注意ttfファイルの名前は中国語では使えません。読み込めないかもしれません。
多くのところを使う必要がある場合は、TextViewのサブクラスを書いて一括処理します。

public class CustomTextView extends TextView {
 
   public CustomTextView(Context context) {
     super(context);
     // TODO Auto-generated constructor stub
   }
 
   public CustomTextView(Context context, AttributeSet attrs) {
     super(context,attrs);
     // TODO Auto-generated constructor stub
   }
 
   public CustomTextView(Context context, AttributeSet attrs,int defStyle) {
     super(context,attrs,defStyle);
     // TODO Auto-generated constructor stub
   }
 
   public void setTypeface(Typeface tf, int style) {
     super.setTypeface(AppContext.getInstance().getTypeface());
   }
 
}
//カスタムフォントの初期化
typeface=Typeface.reat From Aset(get Asets()、“fonts/fzlt.ttf”);
これらのコントロールを同じようにカスタマイズする必要があります。このような仕事量が多いので、どのようにアプリ全体のフォントを効率的に置き換えるか、下の参照資料を参照してください。
webviewにカスタムフォントを使う
ローカルのウェブページには、assetディレクトリにフォントファイルを置き、cssに以下の内容を追加し、フォントfaceをカスタマイズし、必要なところにこのフォントfaceを使えばいいです。

<style>
@font-face {
   font-family: 'myface';
   src: url('file:///android_asset/fonts/fzlt.ttf');
}
body {
   margin: 0;
   padding: 0;
   font-family:'myface','        ';
}
.textbar{ box-sizing:border-box; width:100%; padding:5px;}
.textbar p{ font-size:16px; text-align:justify; color:#333;line-height:24px; margin:0 0 0 0;}
.textbar h1{ font-size:18px; margin:10px 0 10px 0;color:#000}
</style>
オンラインのウェブページでは、フォントファイルをサーバに置いて、フォントfaceを同じように定義して、各場所に適用する必要があります。
ウェブページやサーバー側の作業を減らすために、ローカル注入方式でfont-faceのcssを注入し、ページ全体にスタイルを置き換えることができます。webviewのカスタムwebView CientにonPageFinishを書き直して、その中に以下の内容を追加します。

view.loadUrl("javascript:!function(){" + "s=document.createElement('style');s.innerHTML=" + "\"@font-face{font-family:myhyqh;src:url('**injection**/hyqh.ttf');}*{font-family:myhyqh !important;}\";"
+ "document.getElementsByTagName('head')[0].appendChild(s);" +
"document.getElementsByTagName('body')[0].style.fontFamily = \"myhyqh\";}()");
 
//               asset    ,                  ,      `file:
//android_assets/`  `**injection**/` ,       `shouldInterceptRequest`
//               ,      :
@Override
public WebResourceResponse shouldInterceptRequest (WebView view, String url){
   WebResourceResponse response = super.shouldInterceptRequest(view, url);
   Log.i("load intercept request:" + url);
   if (url != null && url.contains("**injection**/")) {
     //String assertPath = url.replace("**injection**/", "");
     String assertPath = url.substring(url.indexOf("**injection**/") + "**injection**/".length(), url.length());
     try {
        response = new WebResourceResponse("application/x-font-ttf", "UTF8", getAssets().open(assertPath));
     } catch (IOException e) {
        e.printStackTrace();
     }
   }
   return response;
}



読んでくれてありがとうございます。みなさんのご協力をお願いします。ありがとうございます。