Kullanıcı bir a dokunduğunda TextView
tanımlı bir stil uygulamak istediğim bir android uygulamam var .
Bir bulmayı düşündüm textview.setStyle()
ama yok. denedim
textview.setTextAppearance();
ama bu çalışmıyor.
Kullanıcı bir a dokunduğunda TextView
tanımlı bir stil uygulamak istediğim bir android uygulamam var .
Bir bulmayı düşündüm textview.setStyle()
ama yok. denedim
textview.setTextAppearance();
ama bu çalışmıyor.
Yanıtlar:
Bunu res/values/style.xml
aşağıdaki gibi yeni bir XML dosyası oluşturarak yaptım :
<?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>
Ayrıca "strings.xml" dosyamda şöyle bir girdim var:
<color name="highlightedTextViewColor">#000088</color>
<color name="normalTextViewColor">#000044</color>
Ardından, kodumda Tap olayını o TextView: EDIT: API 23'ten itibaren 'setTextAppearance' kullanımdan kaldırılan bir ClickListener oluşturdum
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);
}
});
Eski haline getirmek için şunu kullanırsınız:
if (Build.VERSION.SDK_INT < 23) {
myTextView.setTextAppearance(getApplicationContext(), R.style.normalText);
} else{
myTextView.setTextAppearance(R.style.normalText);
}
myTextView.setBackgroundResource(R.color.normalTextViewColor);
Jonathan'ın önerdiği gibi, textView.setTextTypeface
işleri kullanarak , birkaç saniye önce bir uygulamada kullandım.
textView.setTypeface(null, Typeface.BOLD); // Typeface.NORMAL, Typeface.ITALIC etc.
TextView tvCompany = (TextView)findViewById(R.layout.tvCompany);
tvCompany.setTypeface(null,Typeface.BOLD);
Sen onu koddan ayarladın. Yazı biçimi
Programlı olarak: Çalışma zamanı
SetTypeface () kullanarak programlı olarak yapabilirsiniz:
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: Tasarım Zamanı
XML olarak da ayarlayabilirsiniz:
android:textStyle="normal"
android:textStyle="normal|bold"
android:textStyle="normal|italic"
android:textStyle="bold"
android:textStyle="bold|italic"
Umarım bu yardımcı olur
Özetlendi
textView.setTypeface(Typeface.DEFAULT_BOLD);
en basit yöntem olduğunu buldum .
bu kod satırını deneyin.
textview.setTypeface(textview.getTypeface(), Typeface.DEFAULT_BOLD);
burada, bu metin görünümünden geçerli Yazı Biçimini alacak ve yeni Yazı Biçimini kullanarak değiştirecektir. Buradaki yeni yazı tipi, DEFAULT_BOLD
ancak daha fazlasını uygulayabilirsiniz.
TextView http://developer.android.com/reference/android/widget/TextView.html'de setText () için doco'ya bakın
Dizelerinizin stilini belirlemek için, spannableString'e android.text.style. * Nesnelerini ekleyin veya XML kaynak dosyasında biçimlendirilmiş metni ayarlama örneği için Mevcut Kaynak Türleri belgelerine bakın.