안드로이드 ImageSpan에 이미지를 추가하면 여백이 생깁니다.

조회수 1643회

이미지

ImageSpan을 EditText나 TextView에 추가하는 rich text format editor를 구현중입니다.

ImageSpan을 추가할때는 아래처럼 추가를 하고, drawable을 만들땐 뷰의 가로 사이즈에 fit하게 리사이즈한 . 비트맵으로 bitmapDrawable을 만듭니다.

  ImageSpan span = new ImageSpan(drawable, ImageSpan.ALIGN_BASELINE);
  ClickableSpan clickableSpan = new ClickableSpan() {
    @Override
    public void onClick(View widget) {
        getView().makeAlertTwoButtons(getView().getString(R.string.delete_image), (dialog, which)->{
           removeImage(fileTag);
        });
    }
  };
  ss.setSpan(span, 0, fileTag.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE|Spanned.SPAN_MARK_MARK);
  ss.setSpan(clickableSpan, 0, fileTag.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE|Spanned.SPAN_MARK_MARK);

그런데 처음에 집어넣을땐 위의 사진같은 여백없이 잘 표시되지만 한번 저장하고 다시 불러오면 저렇게 여백이 들어가는군요.

저장은 realm을 이용해서 일반 string으로 저장하고 이미지가 들어가야하는 부분은 정규식으로 검출해서 위의 코드처럼 비트맵을 만들고 span을 만듭니다.

어떻게 해결해야 하는지 답을 모르겠습니다. 혹시 이런 이슈가 있으셨던 분은 답변좀 부탁드릴게요.

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)