Soru & Cevap

tasarımda ekran yoğunluğu problemi ...

17.04.2014 - 08:05

merhaba arkadaşlar benim problemim tasarımla ilgili.. aynı uygulamanın tabletler gibi yüksek dp değerine sahip cihazlarda farklı bir tasarım ile telefonlar gibi düşük dp değerine sahip telefonlarda farklı bir tasarınla çalışmasını istiyorum.. Acaba farklı dp değerleri için benim yerime tasarımı layoutu seçecek bir şey var mı...

2 Görüntülenme

3 Cevap

Sitedeki sorulara cevap verebilmek için giriş yapın ya da üye olun.

picture-20602-1398678339.jpg
veysel_oztav
18.04.2014 - 10:16

Çok teşekkürler arkadaşlar cevaplarınızı okudum.. deneyeceğim..

picture-472-1375079047.jpg
mehmet.altiparmak
18.04.2014 - 07:58

res klasörü altındaki klasörler ekran çözünürlüğü, orientation gibi bir çok kritere göre farklılaştırabiliyorsun. Ve sistem otomatik olarak uygun olan resource'u seçiyor. Örneğin main_activity.xml  için iki ayrı dosya oluşturup aşağıdaki gibi klasörlere koyduğunda, tabletler için layout_sw600dp altındaki, telefonlar için layout klasörü altındaki kullanılır. 

res/layout/main_activity.xml           # For handsets

res/layout-sw600dp/main_activity.xml   # For tablets

http://developer.android.com/guide/practices/screens_support.html

http://developer.android.com/guide/practices/screens_support.html#DeclaringTabletLayouts

http://developer.android.com/training/multiscreen/screensizes.html

picture-2176-1429627808.jpg
bekirdursun
17.04.2014 - 10:11

Display display = getWindowManager().getDefaultDisplay(); 
int width = display.getWidth();
int height = display.getHeight();


Yukarıdaki kodu kullanarak ekran ölçülerini (piksel olarak) alabilirsin. İstediğin layout dosyanı setleyebilirsin. Örneğin onCreate içine aşağıdaki kodu eklersen farklı ekran boyutlarında farklı layoutları çağırmış olursun.

 

Display display = getWindowManager().getDefaultDisplay(); 
int width = display.getWidth();
int height = display.getHeight();

if(width>700){
   setContentView(R.layout.layout_1);

}else if(width>500){
   s
etContentView(R.layout.layout_2);
}