Androidウィジェットを使用してbutton
を作成しました。ボタンのテキストのフォントをHelv Neue 67 Med Cond
に設定したいのです。このフォントを取得して、 Androidレイアウトファイルのボタンテキスト?
最初にttfファイルをassetsフォルダーに入れてから、次のコードを使用して、Buttonの場合と同じように、TextViewでカスタムフォントを設定できます。
TextView txt = (TextView) findViewById(R.id.custom_font);
Typeface font = Typeface.createFromAsset(getAssets(), "Helv Neue 67 Med Cond.ttf");
txt.setTypeface(font);
私はあなたがすでに答えを見つけたかもしれないと思いますが、もしそうでなければ(そして他の開発者にとって)、あなたは次のようにそれを行うことができます:
1.「Helv Neue 67 Med Cond.ttf」をアセットフォルダに保存します。その後
TextViewの場合
TextView txt = (TextView) findViewById(R.id.custom_font);
Typeface typeface = Typeface.createFromAsset(getAssets(), "Helv Neue 67 Med Cond.ttf");
txt.setTypeface(typeface);
ボタン用
Button n=(Button) findViewById(R.id.button1);
Typeface typeface = Typeface.createFromAsset(getAssets(), "Helv Neue 67 Med Cond.ttf");
n.setText("show");
n.setTypeface(typeface);
同じフォントを複数のボタンに追加する場合は、最後まで行ってサブクラスのボタンを実装することをお勧めします。
public class ButtonPlus extends Button {
public ButtonPlus(Context context) {
super(context);
applyCustomFont(context);
}
public ButtonPlus(Context context, AttributeSet attrs) {
super(context, attrs);
applyCustomFont(context);
}
public ButtonPlus(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
applyCustomFont(context);
}
private void applyCustomFont(Context context) {
Typeface customFont = FontCache.getTypeface("fonts/candy.ttf", context);
setTypeface(customFont);
}
}
そして、古いデバイスでのメモリ使用量を削減するFontCacheは次のとおりです。
public class FontCache {
private static Hashtable<String, Typeface> fontCache = new Hashtable<>();
public static Typeface getTypeface(String name, Context context) {
Typeface tf = fontCache.get(name);
if(tf == null) {
try {
tf = Typeface.createFromAsset(context.getAssets(), name);
}
catch (Exception e) {
return null;
}
fontCache.put(name, tf);
}
return tf;
}
}
そして最後に、レイアウトでの使用例:
<com.my.package.buttons.ButtonPlus
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:text="@string/button_sometext"/>
これは大変な作業のように思えるかもしれませんが、フォントを変更したいボタンとテキストフィールドがいくつかあるようになったら、感謝します。
Androidには3つのフォント(Sans, Serif, Monospace)
が付属しており、Android:typeface=”FONT_NAME”
を使用してアクセスできます。
カスタムフォントを使用するには、次のようなコードを使用する必要があります
TextView txt = (TextView) findViewById(R.id.custom_font);
Typeface typeface = Typeface.createFromAsset(getAssets(), "Helv Neue 67 Med Cond.ttf");
txt.setTypeface(typeface);
同様の質問は Androidのカスタムフォント と Android-カスタムフォントの使用 です。
以下を使用できます。
Android:typeface="yourfont"
これは良い記事です。何度か使ってみましたが、うまくいきました。 http://mobile.tutsplus.com/tutorials/Android/customize-Android-fonts/
ダウンロードする必要がありますHelv Neue 67 Med Cond
フォントを使用して、アセットフォルダに保存します。ダウンロードしたフォントをmyfont.ttf
次のコードを使用してフォントを設定します
Typeface tf = Typeface.createFromAsset(getAssets(), "myfont.ttf");
TextView TextViewWelcome = (TextView)findViewById(R.id.textViewWelcome);
TextViewWelcome.setTypeface(tf);
おかげでディーパック