在我的应用程序中,我尝试将Gallery图像随机编辑到编辑文本中,我需要像聊天应用程序一样,我们可以在编辑文本中键入任何文本,我们还需要添加图库图像和表情符号,用户需要可以选择并放入编辑文本有任何想法。
答案 0 :(得分:1)
请参阅此问题:StackOverFlow Question
它使用类似的东西:
b = (Button) findViewById(R.id.Button01))
b.setOnClickListener(new OnClickListener() {
public void onClick(View arg0) {
// in onCreate or any event where your want the user to
// select a file
Intent intent = new Intent();
intent.setType("image/*");
intent.setAction(Intent.ACTION_GET_CONTENT);
startActivityForResult(Intent.createChooser(intent,
"Select Picture"), SELECT_PICTURE);
}
});
答案 1 :(得分:1)
根据this
你应该使用Spannable字符串并解析你的表情符号!!!
答案 2 :(得分:1)
试试这个
int position = Selection.getSelectionStart(AgendaWriterEditText.this.getText());
Spanned e = Html.fromHtml("<img src=\"" + imageResource + "\">", imageGetter, null);
// String s2 = Html.toHtml(e);
// Log.w("Agenda", "Before DB->Image is: " + s2);
AgendaWriterEditText.this.getText().insert(position, e);
感谢大家的回复
我已经通过从图库中获取图像并使用上面的代码插入编辑文本内部来解决问题,并且获取可绘制的方法是
// setting image
holder.dwEdit.setImageGetter(new Html.ImageGetter() {
@Override
public Drawable getDrawable(String source) {
Drawable drawable = null;
try {
// declaring views
ImageView topicImage = new ImageView(_context);
// setting data
topicImage.setImageURI(Uri.parse(source));
// getting Drawable from image to use in HTML <img tag
drawable = topicImage.getDrawable();
Bitmap bitmap = ((BitmapDrawable) drawable).getBitmap();
ByteArrayOutputStream out = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, out);
drawable = new BitmapDrawable(_context.getResources(),
bitmap);
// Important
if (drawable != null) {
// setting the bounds (width + height)
drawable.setBounds(0, 0, 200, 200);
}
} catch (Exception e) {
Log.e("Hammad", "Failed to load inline image!");
}
return drawable;
}
});
重要强>
当编辑文本读取标记时调用此方法,并为此方法提供src =“path”,该代码将返回Drawable
最后可以添加图像来编辑文本字段