Soru & Cevap

Ekran uzunluk ve genişlik değerlerini öğrenmek

10.12.2015 - 10:45

Merhaba,

Şöyle bir kodum var.

protected void onCreate(Bundle savedInstanceState) {
//...
requestWindowFeature(Window.FEATURE_NO_TITLE);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
screenW = getResources().getDisplayMetrics().widthPixels;
screenH = getResources().getDisplayMetrics().heightPixels;
//...

}

Burada örneğin 1024x600'lu bir ekran için screenW = 1024, screenH = 552 oluyor. Bu tam benim istediğim gibi, status bar dışındaki çizim yapılabilen bölgenin boyutlarını öğrenmek istiyorum. Ancak bazı ekran modları için yukarıdaki fonksiyon çizim yapılabilen bölgenin boyutlarını değil status bar dahil tüm ekranın boyutlarını (screenW = 1024, screenH = 600 gibi) veriyor. GenyMotion'daki ekran modlarını denedim, bazılarında tüm ekran boyutlarını, bazılarında status bar hariç ekran boyutlarını veriyor. 1080x1920'lik ekrana sahip Samsun Galaxy S4'de screenW = 1920, screenH = 1080 oluyor. (Tabi burada yerleşimin landscape e çevrildiğini not etmek gerekir)

Bütün ekran boyutlarında geçerli olacak şekilde, yalnız status bar dışındaki çizim yapılabilen bölgenin boyutlarını öğrenmek için ne önerirsiniz?

80 Görüntülenme

1 Cevap

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

picture-5961-1445724200.jpg
mustafacan0225
12.12.2015 - 03:08

aklıma gelen şu ama işe yarar mı bilmiyorum status barın hemen altında bi component varsa textview,buton vs. o componentın Yükseklik değerini alabiliyo musun mesela button1.getY(); dediğinde o nesnenin başladığı Yükseklik değerini alabilirsen çizimi o değere büyük yada eşit olan kısımlarda yaptırabilirsin diye düşündüm ama bi dene istersen emin değilim