外部とのフォントにandroid
-
07-07-2019 - |
質問
利用したい外部のフォントに私のアプリです。またの追加を fonts
を使用 AssetManager
されていたものではなかった。以下が私のコード:
Typeface face;
face = Typeface.createFromAsset(getAssets(), "font.otf");
textview.setTypeface(face);
が表示されていないテキスト...
力を貸してください。
解決
AFAIK、AndroidはOpenTypeをサポートしていません。代わりにTrueTypeフォントを使用してください。
更新: OpenTypeが少なくともある程度サポートされるようになりました。元々サポートされていなかったため、アプリがサポートするAndroidのどのバージョンでもフォントを徹底的にテストする必要があります。
他のヒント
フォントに簡単にアクセスするには、コードを後で読み込むことができるようにアプリケーションにバンドルする必要があります。これを行うには、アセットにFontsフォルダーを直接作成します
これは.xmlである可能性があります
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView
android:id="@+id/DefaultFontText"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textSize="30sp"
android:text="Here is some text." />
<TextView
android:id="@+id/CustomFontText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="30sp"
android:text="Here is some text.">
</TextView>
.javaクラスで次のコードを記述します
Typeface tf = Typeface.createFromAsset(getAssets(),
"fonts/BPreplay.otf");
TextView tv = (TextView) findViewById(R.id.CustomFontText);
tv.setTypeface(tf);
Androidは支援OTFいが必要な場合はこちらからアプリケーションを素早く開発でも動作1.6)を利用したタイプライタOTFフォントがその描画はも正確にTTF版の成績を用いたオンラインでフォントコンバーター).のベースラインしたすべての場所(一部の文字が全2ピクセル以上その他、LDPI携帯電話などのHTC Wildfireの問題が大きく拡大より大きいことによりピクセルです。
同じ問題を抱えていました。私のフォントはアンドロイドでも動作していませんでしたが、動作するために必要でした。フォントエディターを使用して、フォントからAndroid-src-2_1のFontSamplerサンプルに付属するフォントに文字をコピーしました。完璧に機能しました。
私の方法は知的財産の観点から疑わしいと認めますが、実際には元のフォントを使用しませんでした。 。 2つのフォントの定義方法を「見て」みましたが、すべてのフォント変数を一致させることもできませんでした。そのため、nedでは、元のフォントのスケルトンを新しいフォントのテンプレートとして使用しました。
androidはotfとttfの両方の形式をサポートしているので、両方とも経験しました。
tv3 = (TextView)findViewById(R.id.tv1);
Typeface typeFace = Typeface.createFromAsset(getAssets(), "fonts/TRAJANPRO-BOLD.OTF");
tv3.setTypeface(typeFace);
これは英語と現地語の両方で使用するステップです
ブースOTFおよびTTFフォントをサポートするFontinatorを使用
Android-Libraryは、カスタムフォントを簡単に使用できるようにします。