繁体   English   中英

Android Drawable在TextView中的一个字下

[英]Android Drawable under a word in a TextView

我需要将可绘制对象放置在多行TextView的特定单词下。 怎么办呢? 一种可能的使用方式是使用多个TextView并将一个可绘制的底部放置在需要该可绘制的EditText下方。这是一种更简单的方法吗?

亲切的问候

这可能满足您的需求。

android:drawableBottom="@drawable/{yourdrawable}

http://developer.android.com/reference/android/widget/TextView.html#attr_android:drawableBottom

可以在文本之间放置可绘制对象,您必须使用spannable。请参见文本之间的emoti图标示例。

Textview textview = (Textview)findViewById(R.id.textview);
textview.setText(getSmiledText(text.toString()));

public Spannable getSmiledText(String text) {
        SpannableStringBuilder builder = new SpannableStringBuilder(text);
        if (emoticons.size() > 0) {
            int index;
            for (index = 0; index < builder.length(); index++) {
                if (Character.toString(builder.charAt(index)).equals(":")) {
                    for (Map.Entry<String, Integer> entry : emoticons.entrySet()) {
                        int length = entry.getKey().length();
                        if (index + length > builder.length())
                            continue;
                        if (builder.subSequence(index, index + length).toString().equals(entry.getKey())) {
                            builder.setSpan(new ImageSpan(getContext(), entry.getValue()), index, index + length, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
                            index += length - 1;
                            break;
                        }
                    }
                }
            }
        }
        return builder;
    }

我只是建议您在TextView中设置html formatted text ,以便可以应用内联样式以将background image for desired text内容。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM