8

太字の部分があるテキストがあります。KitKat まで、この戦略 (この投稿で述べたように) は完全にうまく機能していました。

私の文字列リソースファイル:

<string name="multi_style_text">NON-BOLD TEXT \n<b>BOLD</b></string>

私のアプリケーションコードの断片:

txtView.setTypeface(FontUtils.getOstrichRegular(this.getActivity()));
...
public static Typeface getOstrichRegular(Context context) {
   return Typeface.createFromAsset(context.getAssets(),
                                "fonts/ostrich_regular.ttf");
}

現在(KitKatでは)、太字部分はカスタムフォントで表示されず、太字でない部分はカスタムフォントで表示されます。以前のバージョンの Android では、すべてのテキストがカスタム フォントで表示されていました。

何を与える?

4

5 に答える 5

22

それで、このバグに不満を感じた後、私は周りを検索して問題の解決策を見つけました. 私の現在のプロジェクトでは、calibri.ttf フォントを使用しています。4.4までは問題なく動作していました。nexus 4 のアップデートを取得すると、Calibri フォントのすべての TextView に、テキスト全体ではなく「ff」が表示されました。

修正 - フォントの .otf (オープン タイプ フォント) バージョンを取得し、プロジェクトに配置すると、魅力的に機能します。残念なことに、Google はこれについて開発者に通知しておらず、この問題に関するドキュメントはほとんどありません。

于 2013-12-09T08:25:14.410 に答える
0

file.ttf を file.otf に変換することで問題を解決しました

置換:

Typeface typeface = Typeface.createFromAsset(activity.getAssets(), "fonts/ostrich_regular.ttf");
yourTextView.setTypeface(typeface);

に :

Typeface typeface = Typeface.createFromAsset(activity.getAssets(), "fonts/ostrich_regular.otf");
yourTextView.setTypeface(typeface);

参考までに: .otf 形式はすべての Android バージョンで機能します (kitkat だけでなく)

于 2015-04-23T15:08:12.183 に答える
0

カスタム フォントを Android アセットのフォルダ名「font」または任意の名前の下に配置します。

これを試して

myTypeface = Typeface.createFromAsset(this.getAssets(),
            "fonts/<<your font>>.ttf");

そのonCreate()

[use youcontroll].setTypeface(myTypeface);

幸運を祈ります...

于 2014-09-03T11:45:58.010 に答える