2012-12-23 36 views
7

Kullanıcı font boyutunu büyük olarak ayarladıysa (Ayarlar -> Ekran -> Yazı tipi boyutu 4,0 ve üstü) bazı ayarlamalar gerektiren bir Android uygulamasına sahibim. Benim Layout.xml içinde
Ben bir düğmeyeKullanıcı yazı tipi boyutu seçimini belirleme

android:textAppearance="?android:attr/textAppearanceMedium" 
android:textStyle="bold" 
android:typeface="sans" 
kurulum için benzer çizgiler vardır:

beni kullanıcının yazı boyutunu tercihi

Güncellendi ne olduğunu anlatmak için basit bir yolu var mı

Yazı tipi boyutunu doğrudan ayarlamama dikkat edin. Bu düzen çalışır ve Ekstra Büyük ayarı dışında tüm durumlarda iyi görünür. Bu durumda, alan sınırlamaları nedeniyle, düğmenin metninin 2 satıra sarılmasına neden olur. o

cevap

6

için sistem sorgulamak gerekir bir FONT_SCALE parametre var sarmak kalmaması

Amacım Çok Büyük durumunda hafif bir üslup değişikliği yapmaktır. Kendim kullanmadıysanız, ama onun değeri bu benzeyecektir alınırken hayal:

float fontScale = Settings.System.getFloat(context.getContentResolver(), Settings.System.FONT_SCALE) 

Ancak, ben de genellikle doğrudan bu değerle ilgili gerektiğini işaret etmek istiyorum. Bunun yerine, metin içeriği için sp ünitelerini kullanın, böylece kullanıcı tarafından tercih edilen yazı tipi boyutlarına göre ayar yapmaktan endişelenmenize gerek kalmaz, bunun yerine sistemin bunu işlemesine izin verin. Why should we use sp for font sizes in Android?

+0

İyi sp ilişkin noktada, ancak bu durumda değil, ilgili, ExtraGeniþ için 1.3 return fontScale söz – Noah

+0

güncellenen bilgileri görmek:

Ayrıca bakınız. Bunun için bir sabit bulmak güzel olurdu, ama şimdilik bunu kullanabilirim. – Noah

+0

Kodunuzun benim için bir 'SettingNotFoundException: font_scale 'yazması garip ama sizin ve benim kodumun doğru olduğundan eminim (Android 4.2.2) – rekire

İlgili konular