私のアプリで外部フォントを使いたいです。私はAssetManager
を使用して新しいfonts
を追加しようとしましたが、動作しませんでした。以下は私のコードです:androidの外部フォントを使用する
Typeface face;
face = Typeface.createFromAsset(getAssets(), "font.otf");
textview.setTypeface(face);
が、そのテキストが表示されない...これで私を助け
してください。
私のアプリで外部フォントを使いたいです。私はAssetManager
を使用して新しいfonts
を追加しようとしましたが、動作しませんでした。以下は私のコードです:androidの外部フォントを使用する
Typeface face;
face = Typeface.createFromAsset(getAssets(), "font.otf");
textview.setTypeface(face);
が、そのテキストが表示されない...これで私を助け
してください。
AFAIK、AndroidはOpenTypeをサポートしていません。代わりに、TrueTypeフォントを使用してください。
UPDATE:どうやらOpenTypeフォントは現在、少なくとも多少、サポートされています。もともとはサポートされていなかったので、あなたのアプリがサポートするどのバージョンのAndroidでもあなたのフォントを徹底的にテストしたいと思うでしょう。
あなたは正しい方向にあると言っています.iはotfの代わりにttfファイルを使う必要がありますか? – mudit
はい。あなたのコードを考えれば、あなたのフォントはあなたの資産/ディレクトリのルートにある必要がありますが、それ以外の場合は互換フォントでうまくいくはずです。 – CommonsWare
エラーメッセージは、エミュレータとadbまたはEclipseの間の通信に問題があることを示します。これはフォントとは関係ありません。 http://commonsware.com/Android/Android-src-2_1.zipをダウンロードすると、TrueTypeフォントの読み込みを示すAndroidプロジェクトが見つかります。 Android 1.6では、APKの外からフォントを読み込めるようになりました(別途ダウンロードしたものなど)。 – CommonsWare
私は同じ問題を抱えていました。私のフォントはアンドロイドでも機能しませんでしたが、私はそれを動作させる必要がありました。フォントエディタを使って、自分のフォントの文字をAndroid-src-2_1のFontSamplerの例にあるフォントにコピーしました。それは完璧に働いた。
私の方法は知的財産権の観点から疑わしいと認めますが、すべての文字が置き換えられ、古いフォントへの参照がすべてよく私は2つのフォントが定義されている方法を見てみましたが、すべてのフォント変数を一致させることもできませんでした。したがって、nedでは、元のフォントのスケルトンを新しいフォントのテンプレートとして使用しました。
AndroidはOTFをサポートしています(私はSDKのバージョンはわかりませんが、1.6では間違いなく動作します)、しばらくタイプライターのOTFフォントを使用していましたが、レンダリングはTTFバージョンIオンラインフォントコンバーターを使用して終了しました。ベースラインはどこにでもあり(一部の文字は他の文字よりも2ピクセル高い)、HTC WildfireのようなLDPI携帯電話では、ピクセルが大きいために問題が大きく拡大しました。
私たちのフォントに簡単にアクセスするには、私たちのコードがその後にロードできるように、アプリケーションにバンドルする必要があります。これを行うために、我々は、これはあなたの.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);
アンドロイドかもしれ当社の資産に直接
をFontsフォルダを作成しますotfとttfの両方のフォーマットをサポートしています。私は両方を経験しました。
tv3 = (TextView)findViewById(R.id.tv1);
Typeface typeFace = Typeface.createFromAsset(getAssets(), "fonts/TRAJANPRO-BOLD.OTF");
tv3.setTypeface(typeFace);
この
はそれはカスタムフォントを使用するために、それは簡単にアンドロイド・ライブラリである私は
使用Fontinatorは、それがブースOTFとTTFフォントをサポートし、両方の英語と現地語のために使用されるステップであります。
これはかなり良いですが、1000以上のTVを独自のカスタムテレビに変えて...あまり便利ではありません –
あなたのTextView
にカスタムフォントのさまざまなを設定するために、単純なEasyFontsサードパーティのライブラリを使用することができます。このライブラリを使用することで、ダウンロードしてassets/fontsフォルダにフォントを追加することを心配する必要はありません。また、Typefaceオブジェクトの作成についても説明します。
以下のフォントフェースが用意されています。
単に:
TextView myTextView = (TextView)findViewById(R.id.myTextView);
myTextView.setTypeface(EasyFonts.robotoThin(this));
あなたは資産/フォントフォルダとアクセス 書体面でのフォントを持つことができます整頓すること..to。 face = Typeface.createFromAsset(getAssets()、 "fonts /" + "font.otf"); textview.setTypeface(face); –