Android Studioがないので、外部フォントをどのように使用するか知りたいAssetsフォルダ。インターネットで役立つチュートリアルを探していますが、それらはすべてAssetsフォルダーを使用するふりをしています。
_src/main
_でアセットフォルダーを自分で作成しましたが、Android StudioがgetAssets()
を認識しません。
プロジェクトに移動します:app-> src-> main
次のようなアセットフォルダを作成します。
|assets
|-----------------fonts
|-------------------font.ttf
|Java
|res
AndroidManifest.xml
次に使用します
Typeface face=Typeface.createFromAsset(getAssets(),"fonts/digital.ttf");
txtV.setTypeface(face);
カスタムフォントがある場合は、次のコードを使用します。
TextView tv=(TextView)findViewById(R.id.custom);
Typeface face=Typeface.createFromAsset(getAssets(),"fonts/Verdana.ttf");
tv.setTypeface(face);
また、フォントファイルをassets/fontsフォルダーに配置し、ここから instructions を実行します。
注:アセットフォルダーは自分で作成する必要があります
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
フォントファイル(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 )
「getAssets()」メソッドでエラーが発生した場合は、次の方法を使用できます。アセットフォルダーにフォントファミリーを配置
Typeface getFace=Typeface.create("OpenSans",3);
textView = (TexView) findViewById(R.id.textView);
textView.setTypeface(getFace);
Res/asset/fontフォルダーとmain/assetフォントフォルダーの両方を試し、別のフォントを試し、それが機能しない場合は、Android Studioのバグである可能性があります。
同じ問題がありましたが、オンラインフォントエディター(pentacomフォントエディターを検索)にフォントをインポートし、フォントをエクスポートして新しいttfファイルに保存することで解決しました。結果のフォントは解像度が低くなりますが、私にとってはうまくいきました。
あなたが試すことができる他のオンラインフォントエディター/エクスポーターがあるかもしれません。