今天我已经将我的android sdk更新为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中遇到这些问题吗?
答案 0 :(得分:5)
我遇到了类似的问题,并找到了这个帖子。看看是否有帮助。
Custom ttf fonts are not showing properly in TextView on Android 4.4 KitKat
编辑:
使用calibri.ttf时遇到了同样的问题。我切换到lato.ttf(可在google.com/fonts上找到),它们工作正常/看起来非常相似。
答案 1 :(得分:1)
我有同样的问题,我使用AppleLiGothic.ttf字体为我的应用程序,它就像5mb文件大小。无论如何,我已经将字体更改为Roboto-Light.ttf。我从android19 sdk数据文件夹中获取了这个字体。我认为某些字体可能不兼容,目前最好先尝试一下,直到找到哪种字体有效。
答案 2 :(得分:1)
字体对我也不起作用我通过将file.ttf转换为file.otf来解决问题
remplace:
Typeface typeface = Typeface.createFromAsset(activity.getAssets(), "yourFont.ttf");
yourTextView.setTypeface(typeface);
by:
Typeface typeface = Typeface.createFromAsset(activity.getAssets(), "yourFont.otf");
yourTextView.setTypeface(typeface);
仅供参考:.otf格式适用于所有Android版本(不仅仅适用于kitkat)
答案 3 :(得分:0)
我一直在做的是将字体放在assets文件夹中并按原样加载:
Typeface typeface = Typeface.createFromAsset(activity.getAssets(), "yourFont.ttf");
yourTextView.setTypeface(typeface);
当我使用这种方法时,Kit Kat没有遇到任何问题