मुझे उनके पीछे एक भूरे रंग की पृष्ठभूमि के साथ आईफोन-शैली गोलाकार लेआउट की आवश्यकता थी। (श्वास - हमेशा आईफोन की प्रतिलिपि)
मैं निराश था मुझे एक लेआउट मास्क करने का कोई तरीका नहीं मिला। यहां अधिकांश उत्तर पृष्ठभूमि छवि का उपयोग करने के लिए कहते हैं, लेकिन यह मेरी आवश्यकता नहीं है।
संपादित: पिछला जवाब एक FrameLayout
का उपयोग करने और android:foreground
drawable स्थापित करने का सुझाव दिया। इसने दृश्य में कुछ अजीब पैडिंग पेश की। मैंने सरल उत्तर RelativeLayout
तकनीक का उपयोग करने के लिए अपना उत्तर अपडेट किया है।
चाल RelativeLayout
का उपयोग करना है; इसके अंदर अपना लेआउट रखें। अपने लेआउट के नीचे, एक और ImageView
जोड़ें, इसे background
पर एक उपयुक्त मास्किंग छवि फ्रेम पर सेट करें। यह आपके अन्य लेआउट के शीर्ष पर आकर्षित करेगा।
मेरे मामले में, मैंने 9 पैच फ़ाइल बनाई जो एक भूरे रंग की पृष्ठभूमि थी, जिसमें पारदर्शी गोलाकार आयत से इसकाटा गया था।
यह आपके अंतर्निहित लेआउट के लिए एकदम सही मुखौटा बनाता है।
XML कोड से कम है - यह एक सामान्य लेआउट एक्सएमएल फ़ाइल है:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="wrap_content" android:layout_width="fill_parent">
<!-- this can be any layout that you want to mask -->
<LinearLayout android:id="@+id/mainLayout"
android:layout_height="wrap_content"
android:layout_width="fill_parent" android:orientation="vertical"
android:background="@android:color/white">
<TextView android:layout_height="wrap_content"
android:layout_width="wrap_content" android:layout_gravity="center"
android:text="Random text..." />
</LinearLayout>
<!-- FRAME TO MASK UNDERLYING VIEW -->
<ImageView android:layout_height="fill_parent"
android:layout_width="fill_parent"
android:background="@drawable/grey_frame"
android:layout_alignTop="@+id/mainLayout"
android:layout_alignBottom="@+id/mainLayout" />
</RelativeLayout>
नोट तल पर ImageView
, मुख्य लेआउट के अनुरूप शीर्ष & नीचे, मास्किंग छवि सेट के साथ:
android:background="@drawable/grey_frame"
इस संदर्भ देता है मेरी 9Patch फ़ाइल - और मास्क अंतर्निहित लेआउट अग्रभूमि में खींचा जा रहा है।
यहां एक उदाहरण है जो एक मानक लेआउट पर ग्रे गोलाकार कोनों दिखा रहा है।
hth
स्रोत
2011-11-29 15:10:08
मुझे लगता है कि इसे पैडिंग और मार्जिन के चालाक उपयोग के साथ हल किया जाएगा – schwiz