TextView Spannable
String.xml 또는 layout.xml에 등록한 Text를 java코드에서 불러와 사이즈 또는 색상을 변경할 수 있게 해주는 것.
기본적으로 텍스트의 사이즈와 색상을 바꾸는 코드
//Spannable 메소드 정의
SpannableStringBuilder span_test = new SpannableStringBuilder(str);
//텍스트 사이즈 변경 (인자는 변경하려는 텍스트 사이즈 크기, 텍스트를 변경하려는 문자열 시작, 끝, 플래그)
span_test.setSpan(new AbsoluteSizeSpan(80), 0, 9, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
전체코드
MainActivity.java
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//텍스트뷰 정의
TextView tv_span = (TextView)findViewById(R.id.spannable_test);
String str = "Spannable Method Test";
//Spannable 메소드 정의
SpannableStringBuilder span_test = new SpannableStringBuilder(str);
//텍스트 사이즈 변경 (인자는 변경하려는 텍스트 사이즈 크기, 텍스트를 변경하려는 문자열 시작, 끝, 플래그)
span_test.setSpan(new AbsoluteSizeSpan(80), 0, 9, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
//텍스트 색 변경 (인자는 위와 동일)
span_test.setSpan(new ForegroundColorSpan(Color.RED), 10, 16, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
tv_span.setText(span_test);
}
}
activity_main.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity">
<TextView
android:id="@+id/spannable_test"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello_world" />
</RelativeLayout>
'Android' 카테고리의 다른 글
안드로이드 공유 기능 (0) | 2015.10.16 |
---|---|
Android Text ClipBoard에 복사하기 (0) | 2015.10.15 |
커스텀 토스트 메시지 사용법 (0) | 2015.10.08 |
확장 리스트뷰(ExpanableListView) (0) | 2015.09.14 |
레이아웃 (0) | 2015.08.20 |