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

  • Capcom Unity

    Capcom Unity

    5 NİSAN 2010
  • FILIPeeeK

    FILIPeeeK

    22 Mayıs 2006
  • VideoGamePervert

    VideoGamePer

    30 AĞUSTOS 2008