自定义TextView字体不适用于从Java Android设置文本

萨奎卜

我创建了一个Custom TextView以使用Font Awesome支持,当您在布局xml中添加文本(unicode 时,它的工作正常但是,如果尝试使用来动态设置适配器中的文本view.setText(),则不应用字体。

FontView类别

public class FontView extends TextView {
    private static final String TAG = FontView.class.getSimpleName();
    //Cache the font load status to improve performance
    private static Typeface font;

    public FontView(Context context) {
        super(context);
        setFont(context);
    }

    public FontView(Context context, AttributeSet attrs) {
        super(context, attrs);
        setFont(context);
    }

    public FontView(Context context, AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
        setFont(context);
    }

    private void setFont(Context context) {
        // prevent exception in Android Studio / ADT interface builder
        if (this.isInEditMode()) {
            return;
        }

        //Check for font is already loaded
        if(font == null) {
            try {
                font = Typeface.createFromAsset(context.getAssets(), "fontawesome-webfont.ttf");
                Log.d(TAG, "Font awesome loaded");
            } catch (RuntimeException e) {
                Log.e(TAG, "Font awesome not loaded");
            }
        }

        //Finally set the font
        setTypeface(font);
    }
}

布局XML

 <com.domain.app.FontView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:textSize="60sp"
    android:textAlignment="center"
    android:text="&#xf179;"
    android:gravity="center"
    android:id="@+id/iconView"
    android:background="@drawable/oval"
    android:padding="10dp"
    android:layout_margin="10dp" />

我的适配器

@Override
public View getView(int position, View convertView, ViewGroup parent) {
    View v = convertView;
    IconListHolder viewHolder;

    if( convertView == null ) {
        LayoutInflater layoutInflater = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        v = layoutInflater.inflate(R.layout.icon, null);
        viewHolder = new IconListHolder(v);
        v.setTag(viewHolder);
    } else {
        viewHolder = (IconListHolder) v.getTag();
    }

    //Set the text and Icon
    viewHolder.textViewIcon.setText(pages.get(position).getIcon());

    viewHolder.textViewName.setText(pages.get(position).getTitle());

    return v;
}

private class IconListHolder {
    public FontView textViewIcon;
    public TextView textViewName;

    public IconListHolder(View base) {
        textViewIcon = (FontView) base.findViewById(R.id.iconView);
        textViewName = (TextView) base.findViewById(R.id.iconTextView);
    }
}

请帮助做错了什么。

萨奎卜

经过3个多小时的奋斗。我在这里找到了答案。这是unicode问题。

更改适配器setText()以使用已Html.fromHtml("&#xf179;").toString()解决的问题

viewHolder.textViewIcon
   .setText(Html.fromHtml(pages.get(position).getIcon()).toString());

在这里阅读更多

我希望你们觉得它有用。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

自定义字体不适用于属性文本模式下的UILabel

来自分类Dev

设置操作不适用于自定义对象

来自分类Dev

对应用程序中的所有文本使用自定义字体,不适用于Lollipop

来自分类Dev

对应用程序中的所有文本使用自定义字体,不适用于Lollipop

来自分类Dev

Xamarin Android Webview 文本选择不适用于自定义上下文菜单

来自分类Dev

Tailwind CSS自定义颜色适用于文本,但不适用于ReactJS中的背景

来自分类Dev

自定义文本视图适配器不适用于列表视图

来自分类Dev

自定义功能不适用于剥离文本

来自分类Dev

设置参数 ID 不适用于自定义屏幕

来自分类Dev

如何获得适用于Android的PixlUI自定义字体?

来自分类Dev

Android水平滚动不适用于自定义类

来自分类Dev

Google Anlytics-自定义维度不适用于Android

来自分类Dev

在Xcode中设置自定义类适用于iOS 9.1模拟器,但不适用于iOS 8.4

来自分类Dev

在Xcode中设置自定义类适用于iOS 9.1模拟器,但不适用于iOS 8.4

来自分类Dev

适用于Android的自定义XML元素

来自分类Dev

适用于Android应用的自定义键盘

来自分类Dev

适用于React Native的自定义Android模块

来自分类Dev

自定义字体不适用于大小类

来自分类Dev

Android为自定义TextView小部件设置字体

来自分类Dev

字体家族样式不适用于android设备吗?

来自分类Dev

获取所有视图在Android布局上具有用于设置自定义字体的文本。什么是最佳做法?

来自分类Dev

获取所有视图在Android布局上具有用于设置自定义字体的文本。什么是最佳做法?

来自分类Dev

getLeft()在Android中不适用于TextView

来自分类Dev

价格后的自定义文本仅适用于Woocommerce中的访客用户

来自分类Dev

如何设置VPN以使其仅适用于Linux中的自定义网址

来自分类Dev

如何将自定义字体应用于Android应用中的每个TextView

来自分类Dev

如何在适用于Android的Xamarin .axml中应用自定义视图

来自分类Dev

适用于Android的流行自定义视图-有任何好的来源吗?

来自分类Dev

适用于sdk 21的Android自定义标签支持库

Related 相关文章

  1. 1

    自定义字体不适用于属性文本模式下的UILabel

  2. 2

    设置操作不适用于自定义对象

  3. 3

    对应用程序中的所有文本使用自定义字体,不适用于Lollipop

  4. 4

    对应用程序中的所有文本使用自定义字体,不适用于Lollipop

  5. 5

    Xamarin Android Webview 文本选择不适用于自定义上下文菜单

  6. 6

    Tailwind CSS自定义颜色适用于文本,但不适用于ReactJS中的背景

  7. 7

    自定义文本视图适配器不适用于列表视图

  8. 8

    自定义功能不适用于剥离文本

  9. 9

    设置参数 ID 不适用于自定义屏幕

  10. 10

    如何获得适用于Android的PixlUI自定义字体?

  11. 11

    Android水平滚动不适用于自定义类

  12. 12

    Google Anlytics-自定义维度不适用于Android

  13. 13

    在Xcode中设置自定义类适用于iOS 9.1模拟器,但不适用于iOS 8.4

  14. 14

    在Xcode中设置自定义类适用于iOS 9.1模拟器,但不适用于iOS 8.4

  15. 15

    适用于Android的自定义XML元素

  16. 16

    适用于Android应用的自定义键盘

  17. 17

    适用于React Native的自定义Android模块

  18. 18

    自定义字体不适用于大小类

  19. 19

    Android为自定义TextView小部件设置字体

  20. 20

    字体家族样式不适用于android设备吗?

  21. 21

    获取所有视图在Android布局上具有用于设置自定义字体的文本。什么是最佳做法?

  22. 22

    获取所有视图在Android布局上具有用于设置自定义字体的文本。什么是最佳做法?

  23. 23

    getLeft()在Android中不适用于TextView

  24. 24

    价格后的自定义文本仅适用于Woocommerce中的访客用户

  25. 25

    如何设置VPN以使其仅适用于Linux中的自定义网址

  26. 26

    如何将自定义字体应用于Android应用中的每个TextView

  27. 27

    如何在适用于Android的Xamarin .axml中应用自定义视图

  28. 28

    适用于Android的流行自定义视图-有任何好的来源吗?

  29. 29

    适用于sdk 21的Android自定义标签支持库

热门标签

归档