2010-10-14 15 views
25

मैं एक आकार बना सकता हूं जो गोलाकार सभी किनारों के साथ एक आयत है। हालांकि, जो मैं चाहता हूं वह एक आयताकार आकार है जिसमें गोलियों के केवल 2 किनारों के साथ है। क्या यह संभव है?केवल दो गोलाकार किनारों के साथ एक आयत आकार बनाना

मैं अनिवार्य रूप से एक सूची दृश्य को हैक कर रहा हूं जो गोलाकार किनारों के साथ एक बुलबुला जैसा दिखता है। मैं एक शीर्षलेख जोड़ना चाहता हूं जिसमें दो शीर्ष किनारों को गोलाकार किया गया हो और दो तल किनारों के साथ एक पाद लेख हो।

उत्तर

14

बचत एक्सएमएल स्तर पर निर्धारित मैंने android:radius विशेषता android:topRightRadius और android:topLeftRadius

+1

यह ऐप चलाने के बाद सही दिखाई देगा .. –

-1

एक गोलाकार आयताकार बनाएं और फिर गोलाकार एक ही रंग के साथ एक सामान्य आयत खींचें।

0

मैं एक गोलाकार आयताकार ड्राइंग करने की कोशिश करता हूं, और उसके बाद गोलाकार आयत के कोने त्रिज्या के समान आकार के दो अतिरिक्त आयत, और उन कोनों में रखता हूं जिन्हें आप गोलाकार नहीं करना चाहते हैं।

तो उदाहरण के लिए, 15 पीएक्स के त्रिज्या के साथ एक गोलाकार आयताकार, और दो नियमित आयताकार 15x15px, गोलाकार आयताकार के कोनों में रखा जाता है जिसे गोलाकार नहीं किया जाना चाहिए।

संपादित करें: अपना प्रश्न दोबारा पढ़ना, आप अपनी सूचीदृश्य के ऊपर और नीचे के लिए एक साधारण 9-पैच छवि बनाने से बेहतर हो सकते हैं। वे बिना किसी पिक्सेलकरण के किसी भी आकार तक फैल जाएंगे। इसके लिए आपको छवियों को पहले से बनाने की आवश्यकता होगी, हालांकि, और आयत आकार के साथ चीजें करने के बाद कोड में बाद में संशोधित करना आसान होगा। हालांकि, 9-पैच रास्ता एक हैक से कम होगा।

+0

... प्लस: आप न केवल एक नौ पैच आकर्षित करने की आवश्यकता है, लेकिन विभिन्न विभिन्न स्क्रीन घनत्व को कवर। यह आवश्यक से अधिक जटिल बनाता है। मैं इसे कोड में कराना चाहता हूं और आयताकार के आकार के आधार पर सर्कल के त्रिज्या को पिक्सेल में अनुकूलित करना पसंद करूंगा। – Zordid

2

मुझे लगता है कि सबसे अच्छा (अपने प्रश्न की मेरी समझ के लिए) एक 9patch छवि बनाने और पृष्ठभूमि के रूप में उपयोग करने के लिए है - के रूप में आप की जरूरत है फैलाने के लिए और परिभाषित किया जा सकता कुछ कोड काम

17

को यह विशेषता उपयोगी हो सकती है।

<?xml version="1.0" encoding="utf-8"?> 
<!-- res/drawable/rounded_edittext.xml --> 
<shape xmlns:android="http://schemas.android.com/apk/res/android" 
android:shape="rectangle" android:padding="10dp"> 
<solid android:color="#FFFFFF"/> 
    <corners 
    android:bottomRightRadius="0dp" 
    android:bottomLeftRadius="0dp" 
    android:topLeftRadius="15dp" 
    android:topRightRadius="15dp"/> 
</shape> 
+0

आकार –

+0

में कोई पैडिंग विशेषता नहीं है, इसे ऐप चलाने के बाद सही दिखाई देगा .. –

1
<shape xmlns:android="http://schemas.android.com/apk/res/android" 
android:shape="rectangle" android:padding="10dp"> 
<solid android:color="#FFFFFF"/> 
<corners 
android:bottomRightRadius="0dp" 
android:bottomLeftRadius="0dp" 
android:topLeftRadius="15dp" 
android:topRightRadius="15dp"/> 
</shape> 

उपयोग उपरोक्त कोड

38
<shape xmlns:android="http://schemas.android.com/apk/res/android" 
android:shape="rectangle" android:padding="10dp"> 
<solid android:color="#FFFFFF"/> 
<corners 
android:bottomRightRadius="0dp" 
android:bottomLeftRadius="0dp" 
android:topLeftRadius="15dp" 
android:topRightRadius="15dp"/> 
</shape> 

इस कोड को बस (के बाद से?) काम कर रहा है Android संस्करण 2.2। documentation की चर्चा करते हुए कोड ऐसा दिखाई देगा:

<shape xmlns:android="http://schemas.android.com/apk/res/android" 
android:shape="rectangle" android:padding="10dp"> 
<solid android:color="#FFFFFF"/> 
<corners 
android:radius="2dp" 
android:bottomRightRadius="0dp" 
android:bottomLeftRadius="0dp" 
android:topLeftRadius="15dp" 
android:topRightRadius="15dp"/> 
</shape> 
+5

मेरे मामले में, यह xml संपादक में सही ढंग से प्रदर्शित नहीं हुआ था। इसे ठीक से देखने के लिए अपना कोड चलाएं। –

+2

मेरे लिए भी, ऐसा लगता है कि एक्सएमएल संपादक विभिन्न त्रिज्या के साथ कोनों का सम्मान नहीं करता है। – WindRider

+0

ऐप चलाने के बाद इसे सही दिखाई देगा .. –

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