Kod TextView yazı tipi boyutunu ayarlarken tutarsızlık ve kaynaklar
official documentation bu cevap vermiyor, ya da bunu çözemiyorum.
Eleman (nevermind AlertDialog
herhangi bir TextView de olur):
TextView tv = (TextView) dialog.findViewById(android.R.id.message);
Tutarsızlık. Dava:
tv.setTextSize(TypedValue.COMPLEX_UNIT_SP, 14);
// or tv.setTextSize(14); does the same
Durum B:
tv.setTextSize(getResources().getDimension(R.dimen.text_size_small));
// TypedValue makes no difference either.
values/dimens.xml
nereye vardır:
<dimen name="text_size_small">14sp</dimen>
Sonuç: yazı tipi boyutu aynı değildir, ve kaynaktan alınırken çok daha büyük görünür. Muhtemelen bir şey benim hatam, ve en önemli kaçırıyorum: neden?
--İLK CEVAP İÇİN GÜNCELLEME--
Sabit numara kimse sabit kodu sabit yazı tipi boyutlarını kod gibi sadece bir örnektir. Yani başka bir şekilde sorayım:
Neden kod kaynak alırsam, boyut XML düzeninden kaynak geldiğimde daha büyük metin?Ayrıca, bu soru hala aynı: nasıl kod 14sp bir birim almak ve düzeni XML ayarlanır 14sp birimi ile sürekli ne yapabilirim? Metin boyutu için kod kaynaktan sp birimlerin nasıl kullanılacağını bana değil çünkü cevabı kabul etmedi.
Bu düzeni, yazı tipi boyutu boyut aynıysa bile farklıdır:
<TextView
android:id="@ id/my_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="@style/TextBody" />
styles.xml:
<style name="TextBody">
<item name="android:textSize">@dimen/text_size_small</item>
<item name="android:lineSpacingMultiplier">1.1</item>
<item name="android:textColor">@color/body_text_1</item>
<item name="android:textIsSelectable">true</item>
<item name="android:linksClickable">true</item>
</style>
Text_size_small görüyor musun? Neden bu durumda yazı tipi boyutunu kodu daha küçüktür, dimen
aynı kaynakla?
CEVAP
getDimension
yöntemi belgelerine önceden hesaplanmış mutlak px değeri olarak anlıyorum ki Resource dimension value multiplied by the appropriate metric.
bir döndüren Birleşik Devletleri setTextSize(TypedValue.COMPLEX_UNIT_PX, textSize);
kullanmalısınız.
Bu, kullanımı:
tv.setTextSize(TypedValue.COMPLEX_UNIT_PX, getResources().getDimension(R.dimen.text_size_small));
Font yerel ayarları yazı tipi boyutunu...
Visual Studio'da yazı tipi boyutunu de...
Nasıl eclipse package explorer ağaç öğ...
Nasıl Emacs yazı tipi boyutunu ayarlam...
Eclipse yazı tipi boyutunu değiştirmek...