• Android TextView中有图片有文字混合排列


    Android TextView中有图片有文字混合排列

    1.使用html.fromHtml

    2.新建ImageGetter

    3.使用<img src>标签


    demo:

    1.设置文字

         ((TextView) findViewById(R.id.tv_gradlist_calorie_desc)).setText(Html
                    .fromHtml(descString(), getImageGetterInstance(), null));
    
    2.获取文字

        /**
         * 字符串
         * 
         * @return
         */
        private String descString() {
            return "您消耗的总热量约等于4杯" + "<img src='" + R.drawable.ic_gradlist_coke
                    + "'/>" + "+5仅仅" + "<img src='" + R.drawable.ic_gradlist_ice
                    + "'/>" + "+10个" + "<img src='"
                    + R.drawable.ic_gradlist_hamburger + "'/>" + "";
    
        }
    3.imagegetter

        /**
         * ImageGetter用于text图文混排
         * 
         * @return
         */
        public ImageGetter getImageGetterInstance() {
            ImageGetter imgGetter = new Html.ImageGetter() {
                @Override
                public Drawable getDrawable(String source) {
                    int fontH = (int) (getResources().getDimension(
                            R.dimen.textSizeMedium) * 1.5);
                    int id = Integer.parseInt(source);
                    Drawable d = getResources().getDrawable(id);
                    int height = fontH;
                    int width = (int) ((float) d.getIntrinsicWidth() / (float) d
                            .getIntrinsicHeight()) * fontH;
                    if (width == 0) {
                        width = d.getIntrinsicWidth();
                    }
                    d.setBounds(0, 0, width, height);
                    return d;
                }
            };
            return imgGetter;
        }
    效果



  • 相关阅读:
    转载C#基础概念二十五问
    C# 文件路径、目录、I/O常见操作汇总
    最简单lru缓存及改进版本(java备忘)
    我的游戏观
    寂静岭 破碎的记忆
    居然又回来了,CSDN博客太不方便了
    Game Physics Engine Development 粗略翻译
    就这么定了
    绘画 程序 人生
    也谈Maxscript
  • 原文地址:https://www.cnblogs.com/blfshiye/p/5224130.html
Copyright © 2020-2023  润新知