क्या पिक्सल में नीचे नेविगेशन बार की हाइट मापने का कोई तरीका है?हनीकॉम्ब में उपलब्ध स्क्रीन ऊंचाई शून्य नेविगेशन बार कैसे प्राप्त करें?
उत्तर
इस बीच मुझे समाधान मिला। honycomb में एक नया OnLayoutChangeListener
ईवेंट है जो आपको लेआउट को समाप्त करने की प्रतीक्षा करता है और फिर स्क्रीनसाइज़ के बजाए अपने लेआउट के आकार को मापता है।
वैसे ... मेरे जैसे किसी और के लिए जो इस प्रश्न पर ठोकर खा रहा है, वास्तविक संख्या की तलाश में, यह 48 पिक्सल (कम से कम मोटोरोला ज़ूम पर) है। यह इस (स्वीकार्य रूप से कच्चे) परीक्षण गतिविधि के डीबग आउटपुट पर आधारित था, जिसमें थीम शीर्षक के साथ कोई शीर्षक नहीं था (उदाहरण के लिए, @android: शैली/थीम.NoTitleBar) और एक सिंगल-व्यू लीनियरआउट दोनों ऊंचाई और चौड़ाई के साथ " match_parent "(जैसे, बनाया एक नया Android एप्लिकेशन को बनाते समय):
package com.sample.layouttest;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnLayoutChangeListener;
public class Main extends Activity implements OnLayoutChangeListener {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
View newView = getLayoutInflater().inflate(R.layout.main, null);
newView.addOnLayoutChangeListener(this);
setContentView(newView);
}
@Override
public void onLayoutChange(View view, int left, int top, int right,
int bottom, int oldLeft, int oldTop, int oldRight, int oldBottom) {
Log.d("LayoutTest","left="+left+", top="+top+", right="+right+", bottom="+bottom);
}
}
एक Motorola Xoom पर चल रहा है एंड्रॉयड 3.1 (और साथ ही एक सैमसंग गैलेक्सी 10.1V 3.0 चल रहा है), onLayoutChange विधि जब से उत्पादन पोर्ट्रेट मोड में प्रवेश है:
05-24 15:11:43.047: DEBUG/LayoutTest(8658): left=0, top=0, right=800, bottom=1232
और जब में प्रवेश परिदृश्य:
05-24 15:13:18.837: DEBUG/LayoutTest(8658): left=0, top=0, right=1280, bottom=752