Android
 Computer >> コンピューター >  >> プログラミング >> Android

AndroidのWebViewでフォント(書体)を変更する方法を徹底解説

この記事では、AndroidアプリのWebViewで表示するテキストのフォントフェイス(書体)を変更する方法を、実際のコード例とともにステップごとに解説します。

WebViewは標準的なフォントでHTMLを表示しますが、CSSの@font-faceルールを活用することで、assetsフォルダに配置した独自のフォントファイルを読み込ませることができます。

Step 1:プロジェクトの新規作成

まず、Android Studioで新しいプロジェクトを作成します。メニューから「File」→「New Project」を選択し、必要な項目をすべて入力してプロジェクトを作成しましょう。

Step 2:レイアウトファイルの編集

次に、res/layout/activity_main.xmlに以下のコードを追加します。ここでは、画面いっぱいにWebViewを配置するシンプルなレイアウトを定義しています。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="https://schemas.android.com/apk/res/android"
    xmlns:tools="https://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/relativeLayout"
    android:padding="8dp"
    tools:context=".MainActivity">
    <WebView
        android:id="@+id/webView"
        android:layout_width="match_parent"
        android:layout_height="match_parent"/>
</RelativeLayout>

Step 3:assetsフォルダとHTMLファイルの作成

続いて、assetsフォルダを作成します。assetsフォルダを右クリックし、新しいファイル「webView1.html」を作成して、以下のコードを記述してください。

ポイントは、CSS内の@font-faceでカスタムフォント(ここではFont.otf)を指定し、file:///android_asset/パス経由で読み込んでいる点です。

<html xmlns="https://www.w3.org/1999/xhtml">
<head>
<title>WebView9</title>
<meta forua="true" http-equiv="Cache-Control" content="max-age=0"/>
<style type="text/css">
    @font-face {
        font-family: 'Font';
        src:url("file:///android_asset/Font.otf")
    }
    body {
        font-family: 'Font', serif;
        font-size: medium;
        text-align: justify;
        color:#ffffff
    }
</style>
</head>
<body style="background-color:#212121">
This file was loaded from android assets folder using webView.</body>
</html>

なお、使用したいフォントファイル(.otfや.ttf形式)も同じassetsフォルダ内に配置しておく必要があります。

Step 4:MainActivity.javaの編集

次に、src/MainActivity.javaに以下のコードを追加します。WebViewのインスタンスを取得し、先ほど作成したHTMLファイルを読み込むだけのシンプルな実装です。

import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.webkit.WebView;
public class MainActivity extends AppCompatActivity {
    WebView webView;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        webView = findViewById(R.id.webView);
        webView.loadUrl("file:///android_asset/webView1.html");
    }
}

Step 5:AndroidManifest.xmlの確認

最後に、androidManifest.xmlが以下のようになっていることを確認してください。

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="https://schemas.android.com/apk/res/android"
    package="app.com.sample">
    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
</manifest>

アプリを実行して動作を確認

それでは、アプリを実行してみましょう。実機のAndroidスマートフォンをPCに接続している前提で説明します。Android Studioからプロジェクト内のアクティビティファイルを開き、ツールバーのRunアイコンをクリックしてください。デバイスとして自分のスマートフォンを選択すると、実機上でアプリが起動し、カスタムフォントが適用されたWebViewの画面が表示されます。

AndroidのWebViewでフォント(書体)を変更する方法を徹底解説

まとめ

WebViewのフォントを変更するには、HTML側のCSSで@font-faceを定義し、assetsフォルダに配置したフォントファイルをfile:///android_asset/パスで参照するのが基本の手法です。この方法を使えば、アプリのブランドイメージに合わせたオリジナルの書体をWebView上でも簡単に反映できます。

  1. Androidスマホのフォントを変更する方法【ルート化不要】

    おしゃれなフォントに興味がある方、多いのではないでしょうか?多くの人は、Android端末のデフォルトフォントやテーマを変更することで、自分らしさを表現しています。フォントを変えるだけで、スマホの印象がガラッと変わり、新鮮な気分になれます。自分の個性をスマホを通して表現できるのは、とても楽しいことですよね。Samsung、ASUSなどの多くのメーカー端末には、追加フォントがあらかじめ内蔵されています。ただし、選択肢はそれほど多くありません。また、残念ながらすべてのスマートフォンにこの機能が搭載されているわけではなく、その場合はサードパーティ製アプリに頼る必要があります。使用している端末によって

  2. Androidスマホのフォントを変更する方法|標準設定・root化・ランチャーアプリの3つの手法を解説

    AndroidデバイスがiPhoneと大きく異なる点の一つは、カスタマイズ性の高さです。フォントスタイルやフォントの種類は、Androidデバイスの見た目に大きな影響を与えます。Androidスマホのフォントを変えたいけれど、やり方がわからず困っている方も多いのではないでしょうか。この記事では、Androidスマホのフォントを変更する方法をわかりやすく解説します。Androidデバイスのフォントを変更して新鮮な印象を与える方法はいくつかあります。本ガイドで紹介する方法をぜひチェックしてみてください。Androidスマホでフォントの種類を変更する方法Androidデバイスのフォントを変更する方法