web-dev-qa-db-ja.com

androidでのボタンテキストフォントの設定

Androidウィジェットを使用してbuttonを作成しました。ボタンのテキストのフォントをHelv Neue 67 Med Condに設定したいのです。このフォントを取得して、 Androidレイアウトファイルのボタンテキスト?

15
Ajn

最初に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);
16
Paresh Mayani

私はあなたがすでに答えを見つけたかもしれないと思いますが、もしそうでなければ(そして他の開発者にとって)、あなたは次のようにそれを行うことができます:

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);
24
Ann

同じフォントを複数のボタンに追加する場合は、最後まで行ってサブクラスのボタンを実装することをお勧めします。

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"/>

これは大変な作業のように思えるかもしれませんが、フォントを変更したいボタンとテキストフィールドがいくつかあるようになったら、感謝します。

また、この tutorialGitHub の例も確認できます。

3
Cabezas

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-カスタムフォントの使用 です。

2
Pankaj Kumar

以下を使用できます。

Android:typeface="yourfont"
1
BrainCrash

これは良い記事です。何度か使ってみましたが、うまくいきました。 http://mobile.tutsplus.com/tutorials/Android/customize-Android-fonts/

0
matiasnj

ダウンロードする必要がありますHelv Neue 67 Med Condフォントを使用して、アセットフォルダに保存します。ダウンロードしたフォントをmyfont.ttf

次のコードを使用してフォントを設定します

Typeface tf = Typeface.createFromAsset(getAssets(), "myfont.ttf");
        TextView TextViewWelcome = (TextView)findViewById(R.id.textViewWelcome);
        TextViewWelcome.setTypeface(tf);

おかげでディーパック

0