एंड्रॉइड - TableRow के साथ TableLayout पर लाइनें जोड़ें

enter image description here

नमस्ते! यह प्रत्येक सेल के लिए TableRow और बटन के साथ मेरा tableLayout है। मैं एक्सएमएल विशेषताओं के साथ, कोशिकाओं को अलग करने के लिए एक लंबवत और क्षैतिज रेखा चाहता हूं।

      <tableLayout
            android:id="@+id/tableLayout1"
            android:layout_width="match_parent"
            android:layout_height="200dp"
            android:background="#fff"
            android:shrinkColumns="*"
            android:stretchColumns="*" >

            <tableRow
                android:id="@+id/table0"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:gravity="center_horizontal" >

                

                

                   .....

                

                
            

            <tableRow
                android:id="@+id/table1"
                android:layout_width="match_parent"
                android:layout_height="wrap_content" >

                
                

                <button
                    android:id="@+id/bLUN1"
                    android:layout_width="15dp"
                    android:layout_height="27dp" />

                <button
                    android:id="@+id/bMAR1"
                    android:layout_width="15dp"
                    android:layout_height="27dp" />

                .....

                 ....
            

            <tableRow
                android:id="@+id/table2"
                android:layout_width="match_parent"
                android:layout_height="wrap_content" >

                

                <button
                    android:id="@+id/bLUN2"
                    android:layout_width="15dp"
                    android:layout_height="27dp" />

               ....

तो, मैं एक साधारण दृश्य की तरह लाइनों का उपयोग करना चाहता हूं लेकिन मुझे नहीं पता कि कैसे बुरा अंग्रेजी के लिए खेद है!

0

2 उत्तर

इस तरह एक आकार xml बनाएँ और इसे खींचने योग्य फ़ोल्डर में सहेजें।

<?xml version="1.0" encoding="utf-8"?>





इसे प्रत्येक सेल के लिए पृष्ठभूमि के रूप में सेट करें।

2
जोड़ा
हां यह सीमा बनाए रखेगा, लेकिन इसे चलाएगा और इसे जांच लें क्योंकि सीमा किनारों पर पतली हो सकती है और बीच में मोटी हो सकती है। इसे हल करने के लिए आपको एक ही चौड़ाई के सीमा लेआउट को पूरी तालिका में सेट करने की आवश्यकता होगी।
जोड़ा लेखक vipul mittal, स्रोत
यदि उपकरण अभिविन्यास बदलता है तो क्या यह समाधान प्रत्येक सेल के लिए सीमा बनाए रखेगा? मुझे यह पसंद है क्योंकि यह इतना आसान है।
जोड़ा लेखक mttdbrd, स्रोत

दस्तावेज़ीकरण से:

TableLayout कंटेनर अपनी पंक्तियों के लिए सीमा रेखाएं प्रदर्शित नहीं करते हैं,   कॉलम, या सेल।

चूंकि यह व्यू का सबक्लास है, टेबललेआउट के लिए ऑनड्रा() विधि में आप इस तरह की सीमा रेखाएं खींच सकते हैं:

myPaint.setColor(0xff000000);
//horizontal lines
for(int i = 2; i < heightfactor + 1; i++)
    c.drawLine(0, horz_spacing_factor * i,  cwidth,  horz_spacing_factor * i,  myPaint);
//vertical lines
for(int i = 2; i < widthfactor + 1; i++)
    c.drawLine(vert_spacing_factor * i, 0,  vert_spacing_factor * i, cwidth,  myPaint);
1
जोड़ा