2011-01-08 15 views
5

मैं एक एंड्रॉइड ऐप बना रहा हूं जिस पर मुझे टेबल-जैसी प्रारूप में डेटा का प्रतिनिधित्व करना है। तो मैं टेबललेआउट का उपयोग कर रहा हूं;एंड्रॉइड के साथ लेआउट समस्या: घुमावदार TextView

alt text

मैं अपने लेआउट दिखाने के लिए '2011' घुमाया सक्षम होने के लिए कैसे बना सकते हैं: समस्या मैं निम्नलिखित कच्चे उदाहरण की तरह एक घुमाया स्ट्रिंग आकर्षित करने के लिए है कि क्या है?

अग्रिम और बधाई में धन्यवाद! सी।

उत्तर

7

TextView कक्षा बढ़ाएं और onDraw विधि को ओवरराइड करें।

@Override 
protected void onDraw(Canvas canvas) { 
    canvas.save(); 
    canvas.rotate(90, xPivot, yPivot); 
    super.onDraw(canvas); 
    canvas.restore(); 

} 
+0

कूल जैसा दिखता है। धन्यवाद; लेकिन ... अगर मैं TextRiew सेल में टेक्स्टव्यू को घुमाता हूं तो मुझे एक प्रकार का ROWSPAN बनाने की भी आवश्यकता होती है क्योंकि 2011 को 3 पंक्तियों का उपयोग करने की आवश्यकता है ... मैं यह कैसे कर सकता हूं? – Cris

+1

रोशैन संभव नहीं है AFAIK। आपको उस घूर्णन दृश्य और रिलेवेटिवआउट या अन्य व्यू समूह के अंदर इसके आगे के दृश्य रखना होगा। इस सवाल पर एक नज़र डालें: http://stackoverflow.com/questions/2189986/android-table-layout-rowspan – Cristian

+0

बहुत बहुत धन्यवाद, आपका लिंक निश्चित रूप से मेरी मदद करेगा! – Cris

0

थोड़ा देर हो चुकी है लेकिन शायद किसी और को इसकी आवश्यकता हो सकती है।

आप xml-layouts का उपयोग करके भी ऐसा कर सकते हैं। जैसा कि आप "टेबल-जैसे" प्रारूप चाहते हैं, मैं आपको अपने उद्देश्यों के लिए ग्रिडलाउट का उपयोग करने की सलाह देता हूं।

यहां आप अपने टेक्स्ट व्यू को परिभाषित कर सकते हैं और उन्हें अपनी इच्छित पंक्ति और कॉलम पर असाइन कर सकते हैं। टेक्स्टव्यू को बताने के लिए पैरामीटर android:layout_column="..." और android:layout_row="..." का उपयोग करें जिसमें कॉलम और पंक्ति दिखाई देनी चाहिए।

API11 के रूप में आप अपने टेक्स्ट व्यू को घुमाने के लिए android:rotation="..." नामक XML-विशेषता का उपयोग कर सकते हैं। विशेषता एक फ्लोट-वैल्यू का उपयोग करती है जो आपके टेक्स्ट व्यू को घुमाने के कोण को दर्शाती है।

, जिसे आप API14 के लिए और आप एक छोटे से कोड GridLayout

में रोस्पेन पैदा उदाहरण के लिए के लिए android:layout_rowspan="..." विशेषता का उपयोग कर सकते हैं इसके बाद के संस्करण विकसित कर रहे हैं, तो:

<GridLayout xmlns:android="http://schemas.android.com/apk/res/android" 
 
    android:layout_width="match_parent" 
 
    android:layout_height="match_parent"> 
 

 
    <!-- column 0 start --> 
 
    <TextView 
 
     android:layout_width="wrap_content" 
 
     android:layout_height="wrap_content" 
 
     android:layout_column="0" 
 
     android:layout_row="0" 
 
     android:text="ABC" /> 
 

 
    <TextView 
 
     android:layout_width="wrap_content" 
 
     android:layout_height="wrap_content" 
 
     android:layout_column="0" 
 
     android:layout_row="1" 
 
     android:layout_rowSpan="3" 
 
     android:rotation="-90.0" 
 
     android:layout_gravity="center_vertical" 
 
     android:text="2011" /> 
 

 
    <TextView 
 
     android:layout_width="wrap_content" 
 
     android:layout_height="wrap_content" 
 
     android:layout_column="0" 
 
     android:layout_row="4" 
 
     android:text="DEF" /> 
 
    <!-- column 0 end --> 
 
    
 
    <!-- column 1 start --> 
 
    <TextView 
 
     android:layout_width="wrap_content" 
 
     android:layout_height="wrap_content" 
 
     android:layout_column="1" 
 
     android:layout_row="0" 
 
     android:text="XXXXX" /> 
 

 
    <TextView 
 
     android:layout_width="wrap_content" 
 
     android:layout_height="wrap_content" 
 
     android:layout_column="1" 
 
     android:layout_row="1" 
 
     android:text="XXXXX" /> 
 

 
    <TextView 
 
     android:layout_width="wrap_content" 
 
     android:layout_height="wrap_content" 
 
     android:layout_column="1" 
 
     android:layout_row="2" 
 
     android:text="XXXXX" /> 
 

 
    <TextView 
 
     android:layout_width="wrap_content" 
 
     android:layout_height="wrap_content" 
 
     android:layout_column="1" 
 
     android:layout_row="3" 
 
     android:text="XXXXX" /> 
 

 
    <TextView 
 
     android:layout_width="wrap_content" 
 
     android:layout_height="wrap_content" 
 
     android:layout_column="1" 
 
     android:layout_row="4" 
 
     android:text="XXXXX" /> 
 
    <!-- column 1 end --> 
 
</GridLayout>
यह एक छोटा है स्क्रीनशॉट screenshot of the given layout example

संबंधित मुद्दे