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

  • Android Authority

    Android Auth

    3 NİSAN 2011
  • CMTelly

    CMTelly

    2 Mayıs 2007
  • ehowhome

    ehowhome

    22 NİSAN 2009