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


이미지

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을 만듭니다.

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

  • 2017년 11월 05일에 작성됨

조회수 56


로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close