如何在textview中添加可绘制图像

时间:2018-04-03 08:07:10

标签: android textview

我需要在文本中使用drawable,就像表情符号一样,例如。

"请按下看起来像这样的按钮然后继续..."

但在我的示例中使用自定义drawable而不是表情符号。 (怎么样)这可能吗?

2 个答案:

答案 0 :(得分:3)

  

我需要在文本

中绘制一个drawable

您可以使用ImageSpan

  • SpanDrawable替换其附加的文本,该drawable可以与底部或周围文本的基线对齐。 public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); TextView textView=findViewById(R.id.tv); Spannable span = new SpannableString("Please press the button looking like this and then proceed .."); Drawable test = getResources().getDrawable(R.drawable.abc); test.setBounds(0, 0, 32,32); ImageSpan imageSpan = new ImageSpan(test, ImageSpan.ALIGN_BASELINE); span.setSpan(imageSpan, 36, 37, Spannable.SPAN_INCLUSIVE_EXCLUSIVE); textView.setText(span); } } 可以通过各种来源构建:

  

但在我的示例中使用自定义drawable而不是表情符号。 (怎么样)这可能吗?

试试这个工作示例

$ ejabberdctl send_direct_invitation room1 conference.localhost none none user3@localhost:user4@localhost
$ ejabberdctl send_direct_invitation room2 conference.localhost none none user3@localhost:user4@localhost

<强> RESULT

enter image description here

答案 1 :(得分:0)

您可以尝试使用unicode:

int unicode = 0x1F60A;

并像这样使用它:

public String getEmojiByUnicode(int unicode){
    return new String(Character.toChars(unicode));
}