मैं एक कस्टम व्यू ग्रुप बनाने की कोशिश कर रहा हूं, और मैं इसे पूर्ण स्क्रीन एप्लिकेशन के साथ उपयोग करना चाहता हूं। मैं शीर्षक पट्टी को छिपाने के लिए "requestWindowFeature (Window.FEATURE_NO_TITLE)" का उपयोग कर रहा हूं। शीर्षक पट्टी नहीं दिख रही है, लेकिन यह अभी भी खिड़की के शीर्ष पर जगह ले रही है।एंड्रॉइड: कस्टम व्यू ग्रुप के साथ FEATURE_NO_TITLE का उपयोग विंडो के शीर्ष पर स्थान
छवि के ऊपर निम्न कोड के साथ बनाया गया:
public class CustomLayoutTestActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
Button b = new Button(this);
b.setText("Hello");
CustomLayout layout = new CustomLayout(this);
layout.addView(b);
setContentView(layout);
}
}
public class CustomLayout extends ViewGroup {
public CustomLayout(Context context) {
super(context);
}
public CustomLayout(Context context, AttributeSet attrs) {
super(context, attrs);
}
public CustomLayout(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
@Override
protected void onLayout(boolean changed, int l, int t, int r, int b) {
Log.i("CustomLayout", "changed="+changed+" l="+l+" t="+t+" r="+r+" b="+b);
final int childCount = getChildCount();
for (int i = 0; i < childCount; ++i) {
final View v = getChildAt(i);
v.layout(l, t, r, b);
}
}
}
(The full Eclipse project is here)
यह देखने के लिए कि यह Android है कि के लिए इस स्थान दिया जाता है दिलचस्प है मेरी कस्टम लेआउट। मैं कस्टमलायआउट को अपनी गतिविधि के रूट लेआउट के रूप में सेट कर रहा हूं। "ऑनलाउट" में लॉग इन में "टी = 25" प्राप्त हो रहा है, और यही वह है जो मेरे लेआउट को दबा रहा है। मुझे नहीं पता कि मैं क्या गलत कर रहा हूं जो एंड्रॉइड को "टी = 25" बनाता है (जो कि शीर्षक पट्टी की बिल्कुल ऊंचाई है)।
मैं एंड्रॉइड एसडीके 2.1 में यह कोड चला रहा हूं, लेकिन मैं एंड्रॉइड 2.2 में भी होता हूं।
संपादित: यदि मैं कुछ डिफ़ॉल्ट लेआउट (जैसे LinearLayout के रूप में) के लिए CustomLayout वर्ग बदलने के लिए, अंतरिक्ष गायब हो जाता है। बेशक, एंड्रॉइड एसडीके के डिफ़ॉल्ट लेआउट उस लेआउट को नहीं बनाते हैं जिसे मैं बनाने की कोशिश कर रहा हूं, इसलिए मैं एक बना रहा हूं।
हालांकि जो लेआउट मैं बना रहा हूं वह कुछ जटिल है, यह मेरा सबसे छोटा कोड है जो मैं अपने लेआउट के साथ समस्या को पुन: उत्पन्न कर सकता हूं।
करने के लिए
android:layout_gravity="top"
जोड़कर तय धन्यवाद, @Hounshell। मैं माता-पिता के सापेक्ष समन्वय प्रणाली के बारे में दस्तावेज़ों पर इस बिंदु को चूक गया। यह एक तस्वीर है जिसे मैं प्राप्त करना चाहता हूं (आपकी टिप्पणी का परिणाम): [लिंक] (http://i.imgur.com/FIOIG) – lgfischer