Создать несколько изображений в текстовом редакторе - PullRequest
0 голосов
/ 23 декабря 2018

Поэтому мне сложно создать несколько видов изображений в тексте редактирования, а затем назначить им изображения из галереи или камеры, а затем сохранить эти изображения в базе данных и извлечь их в той же позиции в моем тексте редактирования.Поэтому я создал ImageView ниже EditText, но это то, чего я не хочу.Я также попробовал Drawable в Spannable из EditText, который хорошо работает при создании нескольких изображений внутри EditText, но проблема в том, что я не могу сохранить эти изображения в базе данных и извлечь их, чтобы они показывались в том же положении, что и этиявляются частью моего EditText.Я сохраняю свою форму EditText в html в базе данных.пожалуйста, скажите мне какое-нибудь решение об этой сложной работе.Спасибо

Первый подход заключается в создании Drawable для нескольких изображений, но он является частью EditText и не может сохранить эти изображения в базе данных и извлечь их в тех же позициях.

private void setImageinText(Bitmap myBitmap){
    myBitmap = Util.scaleBitmapToFitWidth(myBitmap, 1360, true);
   imageView.setImageBitmap(myBitmap);
    Drawable d = imageView.getDrawable();
    SpannableString ssd = new SpannableString("\n  \n");
    d.setBounds(0, 0, d.getIntrinsicWidth(), d.getIntrinsicHeight());
    ImageSpan span = new ImageSpan(d, ImageSpan.ALIGN_BASELINE);
    ssd.setSpan(span, 1 , 2, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
    texto.setTransformationMethod(null);
    texto.getText().insert(texto.getSelectionStart(), ssd);

}

Другой подход заключается в создании изображения в макете и назначении изображения из галереи, но я могу сохранить в нем только одно изображение, и позиция просмотра изображения зафиксирована.

    if (requestCode == GALLERY) {
        if (data != null) {
            Uri contentURI = data.getData();
            try {
                bp = MediaStore.Images.Media.getBitmap(context.getContentResolver(), contentURI);
                imageView.setImageBitmap(bp);
                imageView.setVisibility(View.VISIBLE);
                photo= Util.getBytes(bp);
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
...