मैं वास्तविक स्क्रीन की चौड़ाई Nexus 7 पर 4.2 चलाने की ऊंचाई प्राप्त करने की कोशिश कर रहा हूँ।डिवाइस कच्ची चौड़ाई और ऊंचाई या वास्तविक स्क्रीन चौड़ाई और ऊंचाई कैसे प्राप्त करें?
मैं कुछ क्रम डिवाइस चौड़ाई और ऊंचाई के आधार पर बटन और कुछ UI तत्व आकार बदलने के लिए गणना कर रहा हूँ, तो यह सभी उपकरणों में उचित दिखेगा। मेरा कोड सभी एसडीके 4.1 और नीचे में काम कर रहा था लेकिन 4.2 पर काम नहीं कर रहा था।
मैं निम्नलिखित कोड का उपयोग कर रहा चौड़ाई और ऊंचाई पाने के लिए।
कोड: 1
DisplayMetrics displaymetrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(displaymetrics);
mWidth = displaymetrics.widthPixels;
mHeight = displaymetrics.heightPixels;
कोड: 2
Point size = new Point();
WindowManager w = getWindowManager();
w.getDefaultDisplay().getSize(size);
mWidth = size.x;
mHeight = size.y;
मैं भी गैर-दस्तावेजी तरीकों
साथ की कोशिश की हैकोड: 3
Display display = getWindowManager().getDefaultDisplay();
Method mGetRawW = Display.class.getMethod("getRawWidth");
Method mGetRawH = Display.class.getMethod("getRawHeight");
mWidth = (Integer) mGetRawW.invoke(display);
mHeight = (Integer) mGetRawH.invoke(display);
लेकिन इनमे से कोई भी है नेक्सस 7 रननी के साथ काम करना 4.2 पर, यह हमेशा स्टेटस बार ऊंचाई घटाता है, मुझे पूर्ण ऊंचाई नहीं मिल रही है।
मैं कुछ तरीकों
int statusBarHeight = Math.ceil(25 * context.getResources().getDisplayMetrics().density);
और
Rect rectgle= new Rect();
Window window= getWindow();
window.getDecorView().getWindowVisibleDisplayFrame(rectgle);
int StatusBarHeight= rectgle.top;
वहाँ वास्तविक डिवाइस स्क्रीन ऊंचाई और चौड़ाई प्राप्त करने के लिए किसी भी मानक तरीका है का इस्तेमाल किया है स्थिति बल्ले ऊंचाई की गणना करने के नहीं बल्कि उचित मूल्यों हो रही?
प्रयास करें देखें इस डेमो स्रोत कोड आप को प्राप्त आप क्या http://whats-online.info/science-and-tutorials/121/android-get-screen-width- चाहते मदद मिलेगी और ऊँचाई-प्रोग्राम के रूप में / –