Android 2013. 5. 6. 23:23

일반적으로 안드로이드에서 텍스트의 컬러를 바꿀때 TextView를 잡아 컬러를 주는데 


이 방법의 단점은 TextView 전체가 한 가지 컬러로 바뀐다는 점이다.


그래서 SpannableStringBuilder를 사용하여  String 변수의 시작점과 끝점을 잡아 


사이값의 컬러를 바꿔줄수있다. 



 
String originText = "과일 상자에 수박을 담아가셨습니다.";
SpannableStringBuilder mSpannableStringBuilder = new SpannableStringBuilder(originText);
mSpannableStringBuilder.setSpan(new ForegroundColorSpan(0xFF04478f), 7,
					originText.length() - 10,
					Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
textview.append(mSpannableStringBuilder);


setSpan(Object what, int start, int end, int flags) Mark the specified range of text with the specified object. 


API에는 이렇게 나와있다. 


각각 스타일, 시작점, 끝점, flag 인데 flag를 아직 잘 모르겠다. 구글링 해보니 앞뒤속성 관련 


값 같은데 바꿔도 결과가 같아서 자세히 알아보고 문서 수정보완 해야겠다.


첫번째 자리에 컬러 값이 아닌 


new AbsoluteSizeSpan(10) 이런식으로 넣으면 그 부분만 글자 크기가 달라진다. 


동시 적용하고 싶음 두 줄을 호출하면 된다. 


마지막으로 textview에 setText가 아닌 append 라는게 특이하다. 


결과는 


과일 상자에 수박을 담아가셨습니다.



posted by 젊은쎄오
:
Android 2013. 4. 15. 17:36

EditText 에서 사용하는 hint 속성 주는 방법입니다. 



- hint Color

 android:textColorHint="#ff000000" 


- hint Size ( hint 사이즈는 텍스트 사이즈를 따라갑니다.)

 android:textSize="12sp" 


posted by 젊은쎄오
:
Android 2013. 4. 10. 10:03

xml에서 뷰들에 색을 넣는 방법엔 


android:background="#ff0000ff" 이런식으로 사용합니다. 


이걸 자바 소스에서 사용하는 방법입니다.



 

 textview.setTextColor(0xFF0000ff); 


posted by 젊은쎄오
: