SORU
29 HAZİRAN 2011, ÇARŞAMBA


Nasıl ekran genişlik ve yükseklik için ...

Android uygulaması geliştirme: ekran genişlik ve yükseklik almak için aşağıdaki kodu kullanmaya çalıştım

Display display = getWindowManager().getDefaultDisplay(); 
int screenWidth = display.getWidth();
int screenHeight = display.getHeight();

ama aldımNullPointerExceptiondisplay, neden? benim nasıl genişlik ve yükseklik ekran almak için?

CEVAP
29 HAZİRAN 2011, ÇARŞAMBA


Eğer bir Faaliyet dışında bu arıyorsanız, bu bağlamda geçmek (veya başka bir çağrı olsun) gerekir. Ekran ölçülerini almak için bunu kullanın:

DisplayMetrics metrics = context.getResources().getDisplayMetrics();
int width = metrics.widthPixels;
int height = metrics.heightPixels;

GÜNCELLEME: API getRealSize kullanabilirsiniz 17 , kat:

Point displaySize = new Point();
activity.getWindowManager().getDefaultDisplay().getRealSize(displaySize);

Eğer istersenizmevcutpencere boyutu, getDecorView dekor gerçek ekran boyutu boyutunu görüntülemek çıkarılarak kullanılabilir alanını hesaplamak için kullanabilirsiniz:

Point displaySize = new Point();
activity.getWindowManager().getDefaultDisplay().getRealSize(displaySize);

Rect windowSize = new Rect();
ctivity.getWindow().getDecorView().getWindowVisibleDisplayFrame(windowSize);

int width = displaySize.x - Math.abs(windowSize.width());
int height = displaySize.y - Math.abs(windowSize.height());
return new Point(width, height);

getRealMetrics de işe yarayabilir (API level 17 gerektirir ), ama henüz hiç denemedim:

DisplayMetrics metrics = new DisplayMetrics();
activity.GetWindowManager().getDefaultDisplay().getRealMetrics(metrics);

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Break

    Break

    10 Aralık 2005
  • Garrett Müller

    Garrett Mül

    26 HAZİRAN 2009
  • Vicious Computers

    Vicious Comp

    14 EKİM 2006