안드로이드 개발 질문/답변
(글 수 45,052)
editText 같은 곳에 텍스트 뿐 아니라 이미지도 삽입이 가능하게 할 수 있을까요?
예를 들어 developer.android.com에 sample로 note pad 예제 올라와있자나요
거기서 add new note를 했을때 body에 "hello~~~!사진 bye!" 머 이런식으로 중간에 이미지가 editer안에
삽입될 수 있는 방법이 있는지요?
그냥 보이기만 하는건 할 수 있을거 같은데
커서위치에 image를 에디팅기능으로 삽입하는게 가능할까요?
공지사항을 다읽었음.
예를 들어 developer.android.com에 sample로 note pad 예제 올라와있자나요
거기서 add new note를 했을때 body에 "hello~~~!사진 bye!" 머 이런식으로 중간에 이미지가 editer안에
삽입될 수 있는 방법이 있는지요?
그냥 보이기만 하는건 할 수 있을거 같은데
커서위치에 image를 에디팅기능으로 삽입하는게 가능할까요?
공지사항을 다읽었음.
2009.08.19 15:01:52
notepad는 안돌려봐서 모르겠구요.
apidemos에서 "controls.xml"을 참조하세요. edittext에 그림버튼 넣는 예제가 있습니다.
2009.08.19 15:09:21
TextView에 이미지를 넣기 위해서는 Spannable의 setSpan()에 ImageSpan를 넣는 방법이 있습니다. 이게 Editing모드에서 어떻게 처리되는지는 테스트해보지 않았지만 생각하시는것과 가장 가까운 것같군요.
2009.08.19 15:39:08
회색님, 그러면 Spannable쓰면요~
텍스트 이미지 텍스트 이미지 텍스트 <= 이런 순서로 이미지가 중간중간 맘대로 들어가게 할 수 있을까요?
그니깐 이미지가 삽입되었으면 그 다음위치에 커서가 와서 그담부터 텍스트가 다시 입력되도록...
텍스트 이미지 텍스트 이미지 텍스트 <= 이런 순서로 이미지가 중간중간 맘대로 들어가게 할 수 있을까요?
그니깐 이미지가 삽입되었으면 그 다음위치에 커서가 와서 그담부터 텍스트가 다시 입력되도록...
2009.08.19 15:41:33
기본적으로 그런 배치는 가능한데 EditText에서 사용해보질 않아서 커서와 어떻게 동작하는지는 확인해보지 못했습니다. 혹시 해보시게 되면 결과 알려주세요.
2009.08.20 20:37:46
저랑 비슷한 고민을 하시는거 같네요 ^^:
EditText의 xml 에 android:background="@drawable/ad_01" 이런식으로 이미지를 배경으로 삽입이 되더군요
EditText의 기능은 그대로이면서 기존의 EditText의 visual 부분은 완전히 무시됩니다.
- 여성의 이미지는 Victoriasecret
2009.08.24 02:43:55
http://developer.android.com/guide/appendix/faq/commontasks.html
// Get our EditText object.
EditText vw = (EditText)findViewById(R.id.text);
// Set the EditText's text.
vw.setText("Italic, highlighted, bold.");
// If this were just a TextView, we could do:
// vw.setText("Italic, highlighted, bold.", TextView.BufferType.SPANNABLE);
// to force it to use Spannable storage so styles can be attached.
// Or we could specify that in the XML.
// Get the EditText's internal text storage
Spannable str = vw.getText();
// Create our span sections, and assign a format to each.
str.setSpan(new StyleSpan(android.graphics.Typeface.ITALIC), 0, 7, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
str.setSpan(new BackgroundColorSpan(0xFFFFFF00), 8, 19, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
str.setSpan(new StyleSpan(android.graphics.Typeface.BOLD), 21, str.length() - 1, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
--------------------------------
참고하시면 넣을 수 있지 않을까 하네요 저도 비슷한 문제로 검색하던 중 알았는데 제가 원하는 것과는 조금 다르게 나와서,,,
// Get our EditText object.
EditText vw = (EditText)findViewById(R.id.text);
// Set the EditText's text.
vw.setText("Italic, highlighted, bold.");
// If this were just a TextView, we could do:
// vw.setText("Italic, highlighted, bold.", TextView.BufferType.SPANNABLE);
// to force it to use Spannable storage so styles can be attached.
// Or we could specify that in the XML.
// Get the EditText's internal text storage
Spannable str = vw.getText();
// Create our span sections, and assign a format to each.
str.setSpan(new StyleSpan(android.graphics.Typeface.ITALIC), 0, 7, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
str.setSpan(new BackgroundColorSpan(0xFFFFFF00), 8, 19, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
str.setSpan(new StyleSpan(android.graphics.Typeface.BOLD), 21, str.length() - 1, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
--------------------------------
참고하시면 넣을 수 있지 않을까 하네요 저도 비슷한 문제로 검색하던 중 알았는데 제가 원하는 것과는 조금 다르게 나와서,,,