Benim gereksinim mevcut textView get geçersiz kıldığından findViewById(getResources().getIdentifier("xxx", "id", "android"));
, bu yüzden sadece onDraw()
başka bir cevap deneyemiyorum .
Ama sadece sorunumu düzeltmek için doğru adımları anladım, işte Layout Inspector'dan nihai sonuç:
İstediğim sadece üst boşlukları kaldırmak olduğundan, alt boşlukları kaldırmak için başka bir yazı tipi seçmek zorunda değilim.
İşte düzeltmek için kritik kod:
Typeface mfont = Typeface.createFromAsset(getResources().getAssets(), "fonts/myCustomFont.otf");
myTextView.setTypeface(mfont);
myTextView.setPadding(0, 0, 0, 0);
myTextView.setIncludeFontPadding(false);
İlk anahtar, özel alanı "fonts / myCustomFont.otf" olarak ayarlanmıştır, ancak altta boşluk vardır, ancak üstte değil, bunu açık otf dosyası ile kolayca anlayabilir ve android Studio'daki herhangi bir yazı tipini tıklayabilirsiniz:
Gördüğünüz gibi, alttaki imlecin ekstra aralığı var, ancak üstte değil, bu yüzden sorunumu düzeltti.
İkinci anahtar, herhangi bir kodu atlayamamanızdır , aksi takdirde çalışmayabilir. Bu nedenle, bazı kişilerin bir yanıtın işe yaradığını ve bazılarının da işe yaramadığını yorumlamalarını bulabilirsiniz.
Bunlardan birini kaldırırsam ne olacağını gösterelim.
Olmadan setTypeface(mfont);
:
Olmadan setPadding(0, 0, 0, 0);
:
Olmadan setIncludeFontPadding(false);
:
3 tanesi olmadan (yani orijinal):