2010-03-08 15 views
12

मैं निम्नलिखित लेआउट मेरी गतिविधियों में से एक के लिए परिभाषित किया गया है:मैं अपने एंड्रॉइड ऐप में अपने माता-पिता की पूरी चौड़ाई को कैसे भरूं?

<?xml version="1.0" encoding="utf-8"?> 
<TableLayout android:id="@+id/TableLayout01" android:layout_width="fill_parent" android:layout_height="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android"> 
    <TableRow android:id="@+id/TableRow01" android:layout_height="wrap_content" android:layout_width="fill_parent"> 
     <EditText android:text="Resource Name" android:id="@+id/ResourceName" android:lines="1" android:isScrollContainer="false"></EditText> 
    </TableRow> 
    <TableRow android:id="@+id/TableRow02" android:layout_height="wrap_content" android:layout_width="fill_parent"> 
     <Button android:id="@+id/Tile" android:text="Tile"></Button> 
    </TableRow> 
</TableLayout> 

लेआउट लगभग सही ढंग से प्रस्तुत हुई है, केवल समस्या यह है कि मेरी पाठ बॉक्स और मेरे बटन उनके संबंधित पंक्तियों की पूरी चौड़ाई पर कब्जा नहीं कर रहे हैं।

मैंने लेआउट चौड़ाई गुणों के लिए fill_parent निर्दिष्ट करने का प्रयास किया है, लेकिन इसका कोई फायदा नहीं हुआ है, फिर भी वे केवल स्क्रीन के लगभग आधे हिस्से पर कब्जा करते हैं।

एंड्रॉइड के लिए समग्र रूप से दस्तावेज़ीकरण अब तक बहुत अच्छा रहा है, लेकिन इस तरह के कुछ परिदृश्य हैं जहां मैंने एक अदृश्य दीवार मारा! पूरी सहायताके लिए शुक्रिया!

उत्तर

38

android:stretchColumns="0" (जब आप TableLayout परिभाषित करते हैं) का उपयोग करने का प्रयास करें या कॉलम की अनुक्रमणिका जो भी आप खींचना चाहते हैं।

अधिक जानकारी के लिए - http://developer.android.com/guide/tutorials/views/hello-tablelayout.html

+3

आह, यह एपीआई में देख ऊपर, मूल्य "*" (या 0 से शुरू स्तंभों की एक अल्पविराम सीमांकित सूची) में काम किया। धन्यवाद! –

9

अपने TableRow की परिभाषा में इस प्रयास करें:

<TableLayout 
xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:stretchColumns="1"> 
+1

ऐसा लगता है कि कॉलम इंडेक्स 0 से शुरू हो रहा है, लेकिन हाँ, यह है! माफ़ी, मेरी इच्छा है कि मैं दो सही उत्तरों का चयन कर सकता हूं;) –

6

उपयोग android:layout_width="match_parent" अपने tableRow विचारों में।

अब आप के लिए पैरामीटर android:stretchColumns seting अपने TableLayout में अलग अलग संभावनाएं है:

Value "*" बार देखा गया एक ही चौड़ाई है और पंक्ति एक ही स्थान

Value "0" or other integer कब्जे भर जाएगा -> सबसे पहले या तत्व के साथ इसी एक पंक्ति में पूर्णांक पंक्ति भर जाएगा। android:stretchColumns की स्थापना के बिना

: अन्य दृश्य wrap_content 2 दृश्यों में से प्रत्येक के साथ 3 tableRow के tablelayout साथ

उदाहरण के एक ही तरह से चौड़ाई होगा

[|TextView|EditText|   ] 
[|TextView|EditText|   ] 
[|TextView|EditText|   ] 

एंड्रॉयड: stretchColumns = "*"

[| TextView | EditText |] 
[| TextView | EditText |] 
[| TextView | EditText |] 

एंड्रॉयड: stretchColumns = "0"

[| TextView  |EditText|] 
[| TextView  |EditText|] 
[| TextView  |EditText|] 

एंड्रॉयड: stretchColumns = "1"

[|TextView|  EditText |] 
[|TextView|  EditText |] 
[|TextView|  EditText |] 
संबंधित मुद्दे