TextView border
1. stroke 효과 주는 방법 참고: http://stackoverflow.com/questions/1723846/how-do-you-draw-text-with-a-border-on-a-mapview-in-android
설명:
먼저 위 사이트에서 Paint 에 stroke 값을 주는 방법을 알수 있었다.
다음 TextView 의 Paint 를 얻는 방법을 알아냈다.
- TextView 에는 getPaint() 함수가 있다.
이제 TextView 의 onDraw 함수를 override 하고 Paint 에 stroke 스타일을 적용하여 한번 그림을 그리고 Paint 에 style 을 돌려놓고 그림을 다시 그리면 stroke 효과를 줄 수 있다.
예제:
2. Stroke TextView 사용
참고:
custom attribute: http://blog.pocketjourney.com/2008/05/02/android-tutorial-42-passing-custom-variables-via-xml-resource-files/
순서:
1) TextView 를 상속한 CustomTextView 라는 storke 효과를 주는 클래스를 만들었다.
2) xml 에서 stroke 속성값을 줄 수 있게 res/values/attrs.xml 파일에 속성값을 추가해 줬다.
3) layout xml 파일에서 CustomtextView 를 사용했다.
코드:
1) CustomTextView.java
2) res/values/attrs.xml
3) layout 에 적용
출처: https://tjandroid.blogspot.kr/2011/07/stroke-textview.html
textView 라인수
//title = TextView
title.post(new Runnable() {
@Override
public void run() {
mLineCount = title.getLineCount();
}
});
외부 폰트 2개 적용하기
처음 2글자까진 bold 그 다음부턴 regular
CustomTypefaceSpan bold = new CustomTypefaceSpan("", CommonUI.getFontTypeBold(ProgramActivity.this));
CustomTypefaceSpan light = new CustomTypefaceSpan("", CommonUI.getFontTypeLight(ProgramActivity.this));
String format = String.format(getString(R.string.program_schedule_not_today), mProgramList.size());
int idx = format.indexOf(getString(R.string.piece))+1;
SpannableStringBuilder ssb = new SpannableStringBuilder(format);
ssb.setSpan(bold, 0, idx, Spanned.SPAN_EXCLUSIVE_INCLUSIVE);
ssb.setSpan(light, idx, format.length(), Spanned.SPAN_EXCLUSIVE_INCLUSIVE);
binding.layoutProgramNotice.viewProgramNoticeText.setText(ssb, TextView.BufferType.SPANNABLE);
'Study > Android' 카테고리의 다른 글
[Android] 현재시간에서 특정날짜 까지의 차이 구하기 (0) | 2019.06.12 |
---|---|
[Android] backup / unpack, ab 파일 압축풀기 (1) | 2019.06.12 |
[Android ] Listview 위아래 스크롤 감지, ListView Focus (0) | 2019.06.12 |
[Android] 단말기 고유값 구하는 방법들 (0) | 2019.06.12 |
[Android] AES 암호화, 복호화 (0) | 2019.06.12 |