1080p ve 720p android TV için farklı boyut değerlerini tanımlamak için kullanmam gereken niteleyiciye karar vermem gerekiyor. Değerler-sw1080p, değerler-sw720p gibi bir şey kullanmaya çalıştığımda, işe yaramıyor. Dimes.xml'deki değerler hiçbir şeyi etkilemez. Ama -sw540dp, -sw360dp gibi niteleyici kullanıyorum eğer çalışır. Bunun neden böyle olduğunu anlamıyorum. Herhangi bir fikir? Teşekkürler.1080p, 720p android TV'yi desteklemek için hangi kaynak niteleyiciyi kullanmalıyım? - Android
cevap
Her şeyden önce, büyük ölçüde doğrusınız. Onların elemeleri olarak var olmadığın sw720p/sw1080p
çalışmıyor nedeni budur
sw360dp/ : 720p screens
sw540dp/ : 1080p screens
kullanabilirsiniz. Farklı ekran boyutlarıyla çalışma hakkında
This is the official documentation. Okuyabildiğiniz gibi, dp
klasörünüzü hesaplamak istiyorsanız iki farklı birim vardır: piksel sayısı (örneğin, 720) ve piksel yoğunluğu (yani, inç başına nokta birimi veya kaç tane) pikseller tek bir inç içine sığdırılır. bu durumda biz varken
px = dp * (dpi/160)
:
Tabiidp = px * 160/dpi
, TV farklı yoğunluklara sahip olabilir:
formülü oldukça basittir bu tablo size bu konuda daha fazla söyler (kaynak : official documentation).
en biz (320 dpi @) ekstra yüksek yoğunluklu 1080p ekrana sahip varsayalım. Biz kaynaklarınızı koymak
dp = 1080 * 160/320 = 540
yüzden olsun matematiği geri uygun klasörü yapmak
EDIT:. Aynı sayfada, belirli bir tvdpi
eleme olduğu belirtilmektedir o TV ile ilgili kaynaklarınız için kullanabilirsiniz (yaklaşık 213 dpi
).
Teşekkürler. Bu, tüm 1080p ve 720p TV'nin 320 DPI olduğu anlamına mı geliyor? (Müşterim sorduğumda DPI'yı bilmediğinden). –
Aynı sayfada, 'tvdpi'nin 213 dpi civarında olduğu belirtiliyor. – Sebastiano
Gözlemlerimden bir 720p TV'de 'tvdpi' kullanılırken, 1080p TV'de xhdpi kullanılıyor. Bu, ** her iki ** nin, 960x540 dp (yaklaşık 720p için) yoğunluk bağımsız boyutlara sahip olduğu ve her ikisi de sw540dp 'kovasına sığacağı anlamına gelir. Bu yüzden 720p'yi hedeflemek için 'sw360dp' kullanmanın özellikle yanlış olduğuna inanıyorum. –
Android TV için dikkate alınabilecek üç ekran yoğunluğu ve üç uygun niteleyici var. Bunlar aşağıdakileri içerir:
- tvdpi - (213dpi) - 720 televizyon için tasarlanmıştır;
- xhdpi - (320dpi) - 1080p (HD) televizyonlar için tasarlanmıştır; 4k (Ultra HD) televizyonlar için tasarlandı - (640dpi) - (640dpi) - 4k (Ultra HD) televizyonlar için tasarlanmıştır.
Ama https://developer.android.com/training/tv/start/layouts.html#density-resources göre:
1920 x 1080 piksel [standart 1080p/HD] ve bir ekran boyutu hedeflemesi gerektiğini TV'niz düzeni daha sonra Android sistem için düzen öğelerini downscale izin Gerekirse 720p.
Bu
bu tavsiyesine uyup her zaman 1080p spesifikasyonlarına tasarım varsa,-television
UI Mode Qualifier kullanabilir ve onunla yapılabilir, anlamına gelmektedir.
Farklı TV boyutları için farklı görüntüler ve paftalar dağıtmanız gerekiyorsa, yine de yukarıdaki ekran yoğunluğu niteleyicileri kullanabilirsiniz.
Televizyon için “standart” görüntüler ve düzenler, xhdpi
klasörü 1080p TV'ler için kullanılan niteleyici olduğundan -xhdpi
klasöründe saklanabilir.
4k TV'ler için yüksek çözünürlüklü (isteğe bağlı) görüntülerin istenmesi durumunda, bunlar “2x” görüntüler olarak sağlanabilir ve drawable-xxxhdpi
klasöründe depolanabilir. Benzer şekilde, yalnızca 4k TV'leri hedefleyen boyutlar/düzenler -xxxhdpi
'a yerleştirilebilir.
(-tvdpi
niteleyici 720p özgüdür ve modern bir TV desteklemek için kullanmak istediğiniz neredeyse kesin olmadığını özellikle dikkat edin.)
dokümantasyon seyrek ve hafif çelişkili, ama öncelikle bu temel bu kaynaklara:
https://developer.android.com/guide/practices/screens_support.html https://stackoverflow.com/a/11581786/925478
tipik 1080p tanıtır
gösterim cihazı gerçek genişliği 1920 piksel ve 1080 piksel var demektir doğal çözünürlük formatındaki 1080p sinyalleri kabul etme yeteneği anlamına gelir i n yükseklik, –
Burada "sw" nin "Ekran Genişliği" ni temsil ettiği sw-7080p olarak. –
En azından televizyonlar için farklı olan şeyleri kullanmayın. Telefonlara ve tabletlere yönelik düzenlerin genellikle, eylem çubuğuna olan bağımlılığından ötürü televizyonlar için uygun olmadığından, aşırı yüklenme desteğinden yoksun vb. Televizyon merkezli kaynaklar için bir kaynak seti niteleyicisi olarak '-television'ı kullanın. – CommonsWare