Merhaba arkadaşlar, android developer dokümanında bir dünya yazı yazıyor ingilizcemde çok iyi değil zaten. Siz nasıl bir yöntem ile multiple screen desteğini sağlıyorsunuz?

Ben daha önceleri şu şekil sağlıyordum;

  • layout-small
  • layout
  • layout-large
  • layout-xlarge

Son zamanlarda layout-sw600, layout-w720 gibi bir seçenek daha çıktı. Bunun aşağıdaki sisteme göre avantajları nelerdir?

StackoverFlow'da bulduğum neredeyse bütün ekranları destekleyen sistem;

Low density Small screens QVGA 240x320 (120dpi):

layout-small-ldpi (240x320)  
layout-small-land-ldpi (320x240)

Low density Normal screens WVGA400 240x400 (x432) (120dpi):

layout-ldpi  (240 x 400 )
layout-land-ldpi  (400 x 240 )

Medium density Normal screens HVGA 320x480 (160dpi):

layout-mdpi (320 x 480 )
layout-land-mdpi (480 x 320 )

Medium density Large screens HVGA 320x480 (160dpi):

layout-large-mdpi (320 x 480 )
layout-large-land-mdpi (480 x 320)

Galaxy Tab ( 240 dpi ):

layout-large  (600 x 1024) 
layout-large-land  (1024 x 600)

High density Normal screens WVGA800 480x800 (x854) (240 dpi):

layout-hdpi (480 x 800)
layout-land-hdpi (800 x 480)

Xoom (medium density large but 1280x800 res) (160 dpi):

layout-xlarge (800 x 1280)
layout-xlarge-land (1280 x 800)

Also add following code in .manifest file:

<supports-screens klzzwxh:0003="" android:smallscreens="true" klzzwxh:0004="" android:normalscreens="true" klzzwxh:0005="" android:largescreens="true" klzzwxh:0006="" android:xlargescreens="true" klzzwxh:0007="" android:anydensity="true"/>

soruldu: 11 May '15, 07:16

sin's gravatar image

sin
700162536
cevap kabul oranı: 13%


Merhabalar ; Ben yapmış olduğumda android projesinde bütün layout boyutları için resimleri tasarlayarak ilgili folder altına koymuştum.Birde resim dışında dimension olarak eclipse te varolan ekranlara bakarak teker teker dimension.xml ler oluşturarak size ları burdan almıştım.Fakat daha sonra başka bir projede şunu gördüm adamlar en büyük ekran için bir çözünürlük veriyor daha sonra o kendini daha küçük ekranlara optimize ederkende görüntü bozulmuyor ve böylelikle teker teker resimleri tasarlamaktan kurtuluyorlardı.Bu daha kolay gelmişti bana tabiki karar yine sizin.

permanent link

cevaplandı: 11 May '15, 09:28

caglarturkurka's gravatar image

caglarturkurka
6653712
cevap kabul oranı: 6%

Selam. Multiple screen design i icin isin bir view birde source tarafi var. View tarafinda yukarida senin de verdigin gibi layout-sw600, layout-w720bir boyut var.Bu ikisi ile birlikte ise 3 layout tasarimi yapman gerekiyor.genelde bole bir talep olmasada olmasi durumunda bu uc klasor icin de 3 ayri layouttasarlaman gerekiyor,Her bir layout icinde farkli imagelarornek logo.png mdpi-hdpi-xhdpi-xxhdpi icin farkli buyukluklerde olarak sw 600 icin logo_bigger.png ,sw720 icin ise logo_biggest.png seklinde bir ypi sozkonusu.Ancak uzerindeki companentlerin idleri ayni olmak zorunda yerleri ve sekilleri boyutlari degissesede.

View tarafinda ayrica position aldirma diye bir sorun var.Bunun hard coded cozumu ekranin buyuklugunu alarak runtime sirasinda herbir view companentinin en boy x ve y koordinatlarini daegistirebilirsin.Buda bazen gerekebiliyor.Ornek verecek olursam animasyon ile boyutunu degistirdigin bir companenti animsayon false oldugunda ne yapacaksin veya anime ediyorken mecbur ekran a gore oranlayarak bu isi cozebiliyorsun. Bir diger cozum wieght denilen agirliga gore her bir hucreyi sekillendirmek.Ancak android ozellikle adapter kullanilan yapilarda bunu tavsiye etmiyor.Tek bir buyuk resim veya background kullanarak cok buyumedigi veya kuculmedigi surece bu da is goruyor.

En sonda zaten defaut geldigi gibi companentleri kullanmak.

Source tarafinda ise resimlerin buyuklukleri ne olmali nasil olmali gibi bir sorun var .Bunun da bana gore en mantikli cozumu her bir screen icin farkli boyutlarda resim yapmak buda deneme yanilma ile yapilabilir(Gozkarari). Ancak burda pek bilinmaeyen bir mevzu var oda surda kaynak belirtmisler Link

nine patch image mevzusu(Yukarida arkadas bundan bahsetmis sanirim).Bu nunun m antigi ise .android dosyasinin icerisinde bir image generator var,Bu generator bir resmi aliyor sadece kose ler veya bozulmaya ugrayabilecek yerleri farkli image orta kisimlar gibi bozulmasi mumkun olmayan kisimlar icin toplamda 9 image parcasi olmak uzere ortaya bir image cikartiyor.Ancak studio 0.8 sonrasinda bunda da bir degisiklige gidilmis detaylarini bilmiyorum bunuda arastirabilirsin..Nine patch icin surdan bakabilirsin link text Ayrica browser uzerinden de generate eden siteler mevcut link text

Sonuc olarak ise sunu soyleyeyim .Sahsim adina ben burda basettigimher bir case i karisik kullaniyorum.Problemin oldugu yerde bu 7-8 caseden bir tanesi cozum saglayabiliyor.Onun icin hepsi uzerinde bilgi sahibi olmak gerekmekte.Su siralar yukarida baksettigimiz layout patlerine birde tv-dpi diye birsey eklendi.muhtemelen dahada eklenicektir. Umarim yardimci olmustur.

permanent link

cevaplandı: 20 May '15, 10:23

Numan's gravatar image

Numan
673101422
cevap kabul oranı: 6%

Cevabınız
toggle preview

powered by BitNami OSQA