Android

Spannable Method(String style, color 변경)

Ms_Tony 2015. 8. 26. 11:21

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