アプリで外部フォントを使用したい。fonts
新しいを使用して追加しようとしましAssetManager
たが、機能しませんでした。以下は私のコードです:
Typeface face;
face = Typeface.createFromAsset(getAssets(), "font.otf");
textview.setTypeface(face);
しかし、それはテキストを表示していません...
これを手伝ってください。
アプリで外部フォントを使用したい。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をサポートしています(どのSDKバージョンかはわかりませんが、1.6で確実に動作します)。しばらくの間タイプライターOTFフォントを使用していましたが、レンダリングは最終的に使用したTTFバージョンほど正確ではありません(オンラインフォントコンバータ経由)。ベースラインはいたるところにあり(一部の文字は他の文字よりも2ピクセル高くなっています)、HTC WildfireなどのLDPI電話では、ピクセルが大きいために問題が大幅に拡大します。
私も同じ問題を抱えていました。私のフォントはAndroidでも機能していませんでしたが、機能するために必要でした。フォントエディタを使用して、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);
これは私が英語と現地語の両方に使用したステップです
Fontinatorを使用してブースOTFおよびTTFフォントをサポート
これはAndroidライブラリであり、カスタムフォントを簡単に使用できます。