12

最初の画面 セカンドスクリーン

今日、Android SDK を 19 API に更新しました。アプリをテストしているときに、19 API でいくつかのバグに遭遇しました。

最初の画面、1 ビューのコード:

tvBalance = new TextView(getContext());
    rlParams = new LayoutParams(frame.width, (int) (frame.heigth * zoneExtetn));
    rlParams.setMargins(frame.left, (int) (frame.top - frame.heigth * (zoneUp-0.1f)), 0, 0);
    tvBalance.setLayoutParams(rlParams);
    tvBalance.setGravity(Gravity.CENTER);
    tvBalance.setPadding(0, 0, 0, 0);
    tvBalance.setTextColor(0xffffd008);
    tvBalance.setTextSize(PokerTextSize.scaleFont(getContext(), 28));
    tvBalance.setText("$ 0 000 000 000");
    tvBalance.setTypeface(TypefaceBase.getCalibri((Activity) getContext()));
    rlMoney.addView(tvBalance);

および 2 番目の画面コード:

TextView tvText = new TextView(llContent.getContext());
            llParams = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
            llParams.setMargins(0, 0, 0, marg*2);
            tvText.setLayoutParams(llParams);
            tvText.setTextSize(fonts[0]);
            tvText.setTextColor(articleColor);
            tvText.setText(Html.fromHtml(articleItem.getString()));
            tvText.setTypeface(TypefaceBase.getCalibri((Activity) this.getContext()));

            llContent.addView(tvText);

Android 4.4キットカットでこれらの問題を抱えている人はいますか?

4

4 に答える 4

1

Android 4.4.2 (Kitkat) でもフォントが機能しませんでした。file.ttf を file.otf に変換して問題を解決しました。

置換:

Typeface typeface = Typeface.createFromAsset(activity.getAssets(), "yourFont.ttf");
yourTextView.setTypeface(typeface);

に :

Typeface typeface = Typeface.createFromAsset(activity.getAssets(), "yourFont.otf");
yourTextView.setTypeface(typeface);

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

于 2015-04-20T15:19:30.297 に答える
0

私がやっていることは、フォントをアセットフォルダーに入れて、そのようにロードすることです:

Typeface typeface = Typeface.createFromAsset(activity.getAssets(), "yourFont.ttf");
yourTextView.setTypeface(typeface);

この方法を使用すると、キットカットで問題が発生したことはありません

于 2013-12-03T20:46:43.323 に答える