web-dev-qa-db-ja.com

Android STUDIOに外部フォント/書体をインポートする方法?

Android Studioがないので、外部フォントをどのように使用するか知りたいAssetsフォルダ。インターネットで役立つチュートリアルを探していますが、それらはすべてAssetsフォルダーを使用するふりをしています。

_src/main_でアセットフォルダーを自分で作成しましたが、Android StudioがgetAssets()を認識しません。

9
S Zain Bukhari

プロジェクトに移動します:app-> src-> main

次のようなアセットフォルダを作成します。

|assets

    |-----------------fonts

        |-------------------font.ttf

|Java

|res

AndroidManifest.xml

次に使用します

     Typeface face=Typeface.createFromAsset(getAssets(),"fonts/digital.ttf");
     txtV.setTypeface(face);
39

カスタムフォントがある場合は、次のコードを使用します。

TextView tv=(TextView)findViewById(R.id.custom);
Typeface face=Typeface.createFromAsset(getAssets(),"fonts/Verdana.ttf");
tv.setTypeface(face);

また、フォントファイルをassets/fontsフォルダーに配置し、ここから instructions を実行します。

注:アセットフォルダーは自分で作成する必要があります

7
Namrata

Android開発者によると:Android 8.0(APIレベル26))は、フォントをリソースとして使用できるようにする新しい機能、Fonts in XMLを導入しています。リソースとしてフォントをバンドルするためのres/font /フォルダー内のフォントファイル。これらのフォントはRファイルにコンパイルされ、Android Studioで自動的に使用可能になります。フォントリソースにはヘルプを使用してアクセスできます新しいリソースタイプのフォント。たとえば、フォントリソースにアクセスするには、@ font/myfont、またはR.font.myfontを使用します。

詳細: https://developer.Android.com/guide/topics/ui/look-and-feel/fonts-in-xml.html

0
Joseph Ali

フォントファイル(customfont.tffやcustomfont_bold.tffなど)をapp> src> res> font>フォルダーに配置します(注:存在しない場合は、フォントフォルダーを作成します)

さらに、同じフォルダー内に次の内容でfonts.xmlという名前のファイルを作成します。

  <font-family xmlns:Android="http://schemas.Android.com/apk/res/Android"
      xmlns:app="http://schemas.Android.com/apk/res-auto">

        <font
                app:fontStyle="normal"
                app:fontWeight="700"
                app:font="@font/customfont"/>

        <font
                app:fontStyle="normal"
                app:fontWeight="700"
                app:font="@font/customfont_bold"/>
  </font-family>

次に、ファイルapp> src> res> values> styles.xmlを編集して、アプリ全体にデフォルトのフォントを適用します。

<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
    <item name="Android:fontFamily">@font/customfont</item>
</style>

個々のUI要素のフォントを変更する場合:

<TextView
    Android:fontFamily="@font/customfont"
    Android:layout_height="wrap_content"
    Android:layout_width="wrap_content"
    Android:textColor="@color/black"
    Android:textSize="18sp"
    Android:text="Some text"
    />

注:このメソッドはAPIレベル16以上で有効です(詳細: https://developer.Android.com/guide/topics/ui/look-and-feel/fonts-in-xml

0
H Anıl Özmen

「getAssets()」メソッドでエラーが発生した場合は、次の方法を使用できます。アセットフォルダーにフォントファミリーを配置

Typeface getFace=Typeface.create("OpenSans",3);
textView =  (TexView) findViewById(R.id.textView);
textView.setTypeface(getFace);
0
akash ingle

Res/asset/fontフォルダーとmain/assetフォントフォルダーの両方を試し、別のフォントを試し、それが機能しない場合は、Android Studioのバグである可能性があります。

同じ問題がありましたが、オンラインフォントエディター(pentacomフォントエディターを検索)にフォントをインポートし、フォントをエクスポートして新しいttfファイルに保存することで解決しました。結果のフォントは解像度が低くなりますが、私にとってはうまくいきました。

あなたが試すことができる他のオンラインフォントエディター/エクスポーターがあるかもしれません。

0
ONE