사용자가을 탭 TextView
하면 정의 된 스타일을 적용하고 싶은 Android 앱 이 있습니다.
A를 찾으려고 textview.setStyle()
했지만 존재하지 않습니다. 나는 시도했다
textview.setTextAppearance();
하지만 작동하지 않습니다.
사용자가을 탭 TextView
하면 정의 된 스타일을 적용하고 싶은 Android 앱 이 있습니다.
A를 찾으려고 textview.setStyle()
했지만 존재하지 않습니다. 나는 시도했다
textview.setTextAppearance();
하지만 작동하지 않습니다.
답변:
res/values/style.xml
다음과 같이 새 XML 파일 을 생성하여이를 수행했습니다 .
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="boldText">
<item name="android:textStyle">bold|italic</item>
<item name="android:textColor">#FFFFFF</item>
</style>
<style name="normalText">
<item name="android:textStyle">normal</item>
<item name="android:textColor">#C0C0C0</item>
</style>
</resources>
또한 다음과 같은 "strings.xml"파일에 항목이 있습니다.
<color name="highlightedTextViewColor">#000088</color>
<color name="normalTextViewColor">#000044</color>
그런 다음 내 코드에서 해당 TextView에서 탭 이벤트를 트랩하기 위해 ClickListener를 만들었습니다. 편집 : API 23에서 'setTextAppearance'는 더 이상 사용되지 않습니다.
myTextView.setOnClickListener(new View.OnClickListener() {
public void onClick(View view){
//highlight the TextView
//myTextView.setTextAppearance(getApplicationContext(), R.style.boldText);
if (Build.VERSION.SDK_INT < 23) {
myTextView.setTextAppearance(getApplicationContext(), R.style.boldText);
} else {
myTextView.setTextAppearance(R.style.boldText);
}
myTextView.setBackgroundResource(R.color.highlightedTextViewColor);
}
});
다시 변경하려면 다음을 사용합니다.
if (Build.VERSION.SDK_INT < 23) {
myTextView.setTextAppearance(getApplicationContext(), R.style.normalText);
} else{
myTextView.setTextAppearance(R.style.normalText);
}
myTextView.setBackgroundResource(R.color.normalTextViewColor);
Jonathan이 제안한 것처럼 textView.setTextTypeface
작품을 사용하여 몇 초 전에 앱에서 사용했습니다.
textView.setTypeface(null, Typeface.BOLD); // Typeface.NORMAL, Typeface.ITALIC etc.
프로그래밍 방식 : 런타임
setTypeface ()를 사용하여 프로그래밍 방식으로 수행 할 수 있습니다.
textView.setTypeface(null, Typeface.NORMAL); // for Normal Text
textView.setTypeface(null, Typeface.BOLD); // for Bold only
textView.setTypeface(null, Typeface.ITALIC); // for Italic
textView.setTypeface(null, Typeface.BOLD_ITALIC); // for Bold and Italic
XML : 디자인 타임
XML에서도 설정할 수 있습니다.
android:textStyle="normal"
android:textStyle="normal|bold"
android:textStyle="normal|italic"
android:textStyle="bold"
android:textStyle="bold|italic"
이것이 도움이되기를 바랍니다.
요약
이 코드 줄을 시도하십시오.
textview.setTypeface(textview.getTypeface(), Typeface.DEFAULT_BOLD);
여기서는이 textview에서 현재 Typeface를 가져 와서 새로운 Typeface를 사용하여 대체합니다. 여기에 새로운 서체가 DEFAULT_BOLD
있지만 더 많이 적용 할 수 있습니다.
TextView http://developer.android.com/reference/android/widget/TextView.html 에서 setText ()에 대한 doco를 참조 하십시오.
문자열의 스타일을 지정하려면 android.text.style. * 객체를 SpannableString에 연결하거나 사용 가능한 리소스 유형 문서에서 XML 리소스 파일에서 형식이 지정된 텍스트를 설정하는 예를 참조하세요.