Проблемы с шрифтами в android 4.4

first screensecond screen

Сегодня я обновил sdk от android до 19 api, и при тестировании моего приложения я столкнулся с некоторыми ошибками в 19 api: отбросьте некоторые шрифты в текстовом представлении или у вас проблемы с этим размером.

первый экран, код одного вида:

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

и второй экранный код:

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 kit-kat?

Ответ 1

У меня такая же проблема, и я нашел этот поток. Посмотрите, поможет ли это.

Пользовательские шрифты ttf не отображаются должным образом в TextView на Android 4.4 KitKat

Edit:

У меня была такая же проблема при использовании calibri.ttf. Я перешел на lato.ttf(доступно на google.com/fonts), и они отлично работают/выглядят очень похожими.

Ответ 2

У меня была такая же проблема, я использовал шрифт AppleLiGothic.ttf для своего приложения, это было как размер файла размером 5 МБ. В любом случае позже я изменил шрифт на Roboto-Light.ttf. Я взял этот шрифт из папки данных android19 sdk. Я думаю, что некоторые шрифты могут быть несовместимыми в настоящее время, лучше попробовать несколько, пока не найдете, какой из них работает.

Ответ 3

Шрифт тоже не работал у меня на Android 4.4.2 (Kitkat), я решил проблему, преобразовывая файл file.ttf в file.otf

remplace:

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

:

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

FYI: формат .otf работает для всех версий Android (не только на kitkat)

Ответ 4

То, что я делал, это поместить шрифт в папку с ресурсами и загрузить его как таковой:

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

У меня не было проблем в Kit Kat, когда я использую этот метод