EditText 및 Spannable 텍스트 오브젝트 사용에 어려움을 겪고 있습니다. 요즘에는 API 문서를 열 번 정도 읽었지만 제대로 이해하지 못했습니다. 그래서 EditText와 Spannable을 어떻게 사용하는지 보여주는 예제를 찾고 있습니다.Spanned 및 Spannable 텍스트에 대한 예제가 있습니까
답변
API에서 파악할 수없는 것을 지정하지 않았으므로 사용자의 질문에 대답하기가 어렵습니다 (짧은 대답 : 일반적인 질문이 아닌 특정 질문으로 질문 다시 작성).
전형적인 Spannable-예는 다음과 같이이 기울임 내로 글고에서 선택한 텍스트를 설정하는 것입니다 :
Spannable str = mBodyText.getText();
if(mBodyText.getSelectionEnd() > mBodyText.getSelectionStart())
str.setSpan(new StyleSpan(android.graphics.Typeface.ITALIC),
mBodyText.getSelectionStart(), mBodyText.getSelectionEnd(),
Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
else
str.setSpan(new StyleSpan(android.graphics.Typeface.ITALIC),
mBodyText.getSelectionEnd(),
mBodyText.getSelectionStart(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
이 절단하고 직접 pastability이 고통을 수 있도록, 다른 뭔가에서 붙여 넣기 만한다 적어도 Spannable
(이 경우는 StyleSpan
)의 작동 예를 보여줍니다. API에서 다른 유형의 범위 (특히 ImageSpan
)를 찾을 수 있습니다. 이것은 새로 변환 된 드로더 중 일반적인 질문입니다.
이 답장은 저에게 매우 도움이됩니다, 감사합니다. 그러나 나는 아직도 많은 문제가있다. 나는 풀어야한다. 위에서 설명한대로 내가 직면 한 문제를 보여주는 링크가 있습니다. http://stackoverflow.com/questions/2093111/when-some-text-is-copied-and-pasted-pasted-text-inherit-previous-text-style-it 문제에 대해 더 자세히 알고 싶다면, 여기에 또 다른 링크가 있습니다. http://code.google.com/p/blogaway/issues/detail?id=32 아마도 위의 링크를 통해 문제의 원인을 파악할 수 있습니다. – skysign
'SpannableString'의 목적이 아주 명백한 반면, SpannedString의 예는 매우 유용합니다. 무엇을 사용해야할지, 그리고 처음부터 어떻게 만드는지 완전히 불분명합니다. – AndreKR
나는 그걸 알아 내려고 노력하고 있으며, 불필요하게 까다로워 보인다.
기존의보기에 새로운 spannable 텍스트를 추가하는 방법은 다음과 같습니다. 보기에 컬러 텍스트를 추가하고 싶었습니다. 이렇게하는 유일한 방법처럼 보였습니다.
못생긴 해킹이 느껴지 긴하지만 더미 텍스트 뷰 (텍스트가없는 곳)를 만들고 거기에 텍스트 스타일을 지정한 다음 스타일이 지정된 텍스트를 원하는 곳에 추가 할 수 있습니다. 그것을위한 신용은 anddev.org에서 iifuzz로갑니다. 나는 당신이 그렇게처럼 SpannableFactory을 사용하여 새 spannable 텍스트를 만들 수 있어야한다고 생각
spanbuffer = new TextView(context);
spanbuffer.setText(newText, TextView.BufferType.SPANNABLE);
Spannable s = (Spannable) spanbuffer.getText();
s.setSpan(new ForegroundColorSpan(Color.RED), 0, newText.length() - 1, 0);
this.append(s);
:과 같이 내 코드 보인다
Spannable s = Spannable.Factory.getInstance().newSpannable(newText);
을하지만 난이 텍스트를 가져올 수 없습니다 실제로 새로운 스팬 효과를 보여주기 때문에 포기했습니다.
http://www.chrisumbel.com/article/android_textview_rich_text_spannablestring 이것은 Spannable 및 Textveiw로 무엇이든 할려고하는 모든 사람들에게 완벽한 답입니다. – JehandadK
몇 가지 예는 [여기] (http://stackoverflow.com/a/41953808/3681880) 및 [여기] (http://androidcocktail.blogspot.com/2014/03/android-spannablestring-example.html)를 참조하십시오. . – Suragch