दिलचस्प पोस्ट
कार्यात्मक GUI प्रोग्रामिंग संभव है? संपर्क फोटो यूआरआई कैसे प्राप्त करें UPDATE क्वेरी में 3 टेबल जॉइन कैसे करें? पुश / पुल का उपयोग करके कोले – * – 12 कॉलम में बूटस्ट्रैप 3 का क्रम बदलें उड़ी से बिटमैप कैसे प्राप्त करें? मिलीसेकेंड को कैसे पार्स करना है? iPhone: सेटिंग नेविगेशन बार शीर्षक सी ++ में, क्या यह एक फ़ंक्शन से वेक्टर वापस करने के लिए अभी भी खराब अभ्यास है? मैं इस तरह को छोड़कर सी # संरक्षित सदस्यों का उपयोग क्यों नहीं कर सकता? Mysql रिकर्सिव का चयन करें सभी स्तर के साथ सभी बच्चे प्राप्त करें कांटेदार अंदर प्रोट्रेक्टर टेस्ट तक पहुंच फ्लोटिंग प्वाइंट नंबर की तुलना करने के लिए शून्य आईपैड सफारी – कीबोर्ड को गायब बनाओ शून्य में शून्य सूचक के लिए पॉइंटर अंकगणित डेटा फ्रेम में रिकॉर्ड पहचानें ए डेटा फ्रेम में शामिल नहीं बी

कैसे एंड्रॉइड में एक दृश्य के लिए छाया सेट करने के लिए?

मैं जानना चाहता हूं कि एंड्रॉइड में किसी भी सामान्य व्यू के लिए छाया परत कैसे जोड़ें। उदाहरण के लिए: मान लीजिए मेरे पास लेआउट एक्सएमएल है, ऐसा कुछ दिखा रहा है ..

<?xml version="1.0" encoding="utf-8"?> <LinearLayout android:layout_height="wrap_content" android:layout_width="wrap_content" <Button.... ... </LinearLayout> 

अब जब इसे प्रदर्शित किया जाता है तो मुझे इसके चारों ओर एक छाया रखना है।

Solutions Collecting From Web of "कैसे एंड्रॉइड में एक दृश्य के लिए छाया सेट करने के लिए?"

एक साधारण चाल है, दो विचारों का उपयोग करते हैं जो छाया बनाती हैं।

 <?xml version="1.0" encoding="utf-8"?> <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:padding="10dp" android:background="#CC55CC"> <LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="vertical"> <TableLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:stretchColumns="0"> <TableRow> <LinearLayout android:id="@+id/content" android:layout_width="wrap_content" android:layout_height="wrap_content"> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:background="#FFFFFF" android:text="@string/hello" /> </LinearLayout> <View android:layout_width="5dp" android:layout_height="fill_parent" android:layout_marginTop="5dp" android:background="#55000000"/> </TableRow> </TableLayout> <View android:layout_width="fill_parent" android:layout_height="5dp" android:layout_marginLeft="5dp" android:background="#55000000"/> </LinearLayout> </FrameLayout> 

उममीद है कि इससे मदद मिलेगी।

एक छाया बनाने का सबसे अच्छा तरीका दृश्य की पृष्ठभूमि के रूप में 9 9patch चित्र का उपयोग करना है (या व्यू समूह जो दृश्य को लपेटता है)।

पहला कदम उसके चारों ओर एक छाया के साथ एक पीजीजी छवि बनाना है। मैंने ऐसी तस्वीर बनाने के लिए फ़ोटोशॉप का उपयोग किया था इसकी वास्तव में सरल

  • फ़ोटोशॉप के साथ एक नई छवि बनाएं
  • एक परत जोड़ें और 4×4 का एक काला वर्ग बनाएं।
  • परत एक्सप्लोरर में परत को चुनकर और ड्रॉपबॉक्स चुनने वाले बटन पर क्लिक करके परत पर एक छाया बनाएं।
  • पीएनजी के रूप में छवि निर्यात करें

अगले कदम इस छवि से 9-पैच ड्रॉएबल बनाने के लिए है।

  • android-sdk/tools से ओपन draw9patch 9 draw9patch
  • draw9patch में छवि को draw9patch
  • निम्न की तरह वर्ग के चारों ओर 4 काले लाइनें बनाएं और फिर छवि को shadow.9.pngshadow.9.png रूप में shadow.9.png

अब आप इस छाया को उन दृश्यों की पृष्ठभूमि के रूप में जोड़ सकते हैं, जिन्हें आप छाया को जोड़ना चाहते हैं। res/drawables shadow.9.png लिए shadow.9.pngshadow.9.png को जोड़ें अब इसे पृष्ठभूमि के रूप में जोड़ें:

 <LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:background="@drawable/shadow" android:paddingBottom="5px" android:paddingLeft="6px" android:paddingRight="5px" android:paddingTop="5px" > 

मैंने हाल ही में एक ब्लॉग पोस्ट लिखा है जो इसे विस्तार से बताता है और इसमें 9 पैच वाली छवि शामिल होती है जिसका उपयोग मैं छाया बनाने के लिए करता हूं

मान लें कि आप एक रैखिक लेआउट का उपयोग करेंगे (मैंने एक ऊर्ध्वाधर रैखिक लेआउट माना है) .. और अपने रेखीय लेआउट के ठीक नीचे एक दृश्य है। अब इस दृश्य के लिए एक प्रारंभ रंग और अंत रंग प्रदान करें .. मैं भी यह बात जानना चाहता था, इसकी मेरे लिए काम कर रहा है..यदि आपको एक भी बेहतर प्रभाव की आवश्यकता है, तो बस शुरू और अंत रंग के आसपास काम करते हैं।

activity_main

 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <LinearLayout android:id="@+id/vertical" android:layout_width="match_parent" android:layout_height="150dp" android:background="@drawable/layout_back_bgn" android:orientation="vertical" > </LinearLayout> <View android:layout_below="@+id/vertical" android:layout_width="match_parent" android:layout_height="10dp" android:background="@drawable/shadow" > </View> </LinearLayout> 

layout_back_bgn.xml

 <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" > <solid android:color="#FF4500" /> </shape> 

shadow.xml

 <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <gradient android:startColor="#4D4D4D" android:endColor="#E6E6E6" android:angle="270" > </gradient> </shape> 

मैंने ऊपर दिए गए कोड का उपयोग करने के बाद मेरे पास एक इमेज पोस्ट करने की कोशिश की, लेकिन स्टैकवॉवरफ्लो मुझे कॉज़ की अनुमति नहीं देता है, मुझे प्रतिष्ठा नहीं है..उसके बारे में क्षमा करें।

एपीआई स्तर 21 के बाद से आप उन्नयन का उपयोग कर सकते हैं

जेड प्रॉपर्टी द्वारा दर्शाया गया एक दृश्य की ऊंचाई, इसकी छाया का दृश्य स्वरूप निर्धारित करती है: उच्च जेड मान वाले विचार बड़े, नरम छाया को कहते हैं। उच्च Z मान वाले दृश्यों को कम Z मान वाले दृश्य दिखाई देते हैं; हालांकि, किसी दृश्य के Z मान दृश्य के आकार को प्रभावित नहीं करता है। किसी दृश्य की ऊंचाई तय करने के लिए:

एक लेआउट परिभाषा में, का उपयोग करें

 android:elevation 

विशेषता। किसी गतिविधि के कोड में एक दृश्य की ऊंचाई को सेट करने के लिए, का उपयोग करें

 View.setElevation() 

तरीका।

स्रोत

यहां समाधान का मेरा प्यारा संस्करण है … यह यहां दिए गए समाधान का संशोधन है

मुझे नहीं लगता कि कोनों को कैसे दिखता है, इसलिए मैं उन सभी को मोहित कर देता हूं …

 <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <!--Layer 0--> <!--Layer 1--> <!--Layer 2--> <!--Layer 3--> <!--Layer 4 (content background)--> <!-- dropshadow --> <item> <shape> <gradient android:startColor="@color/white" android:endColor="@color/white" android:centerColor="#10CCCCCC" android:angle="180"/> <padding android:top="0dp" android:right="0dp" android:bottom="2dp" android:left="0dp" /> </shape> </item> <item> <shape> <gradient android:startColor="@color/white" android:endColor="@color/white" android:centerColor="#20CCCCCC" android:angle="180"/> <padding android:top="0dp" android:right="0dp" android:bottom="2dp" android:left="0dp" /> </shape> </item> <item> <shape> <gradient android:startColor="@color/white" android:endColor="@color/white" android:centerColor="#30CCCCCC" android:angle="180"/> <padding android:top="0dp" android:right="0dp" android:bottom="2dp" android:left="0dp" /> </shape> </item> <item> <shape> <gradient android:startColor="@color/white" android:endColor="@color/white" android:centerColor="#40CCCCCC" android:angle="180"/> <padding android:top="0dp" android:right="0dp" android:bottom="2dp" android:left="0dp" /> </shape> </item> <item> <shape> <gradient android:startColor="@color/white" android:endColor="@color/white" android:centerColor="#50CCCCCC" android:angle="180"/> <padding android:top="0dp" android:right="0dp" android:bottom="2dp" android:left="0dp" /> </shape> </item> <!-- content background --> <item> <shape> <solid android:color="@color/PostIt_yellow" /> </shape> </item> 

यहां छवि विवरण दर्ज करें

 </LinearLayout> <View android:layout_width="match_parent" android:layout_height="2dp" android:background="@color/dropShadow" /> 

रेखा के नीचे बस का उपयोग करें

एक अन्य विधि

यहां छवि विवरण दर्ज करें

बनाओ "rounded_corner_bg.xml" इन / ड्रायबल फ़ोल्डर में

 <?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item> <shape android:shape="rectangle"> <solid android:color="@color/primaryColor" /> <corners android:radius="4dp" /> </shape> </item> <item android:bottom="2dp" android:left="0dp" android:right="0dp" android:top="0dp"> <shape android:shape="rectangle"> <solid android:color="#F7F7F7" /> <corners android:radius="4dp" /> </shape> </item> </layer-list> 

android:background="@drawable/rounded_corner_bg" लेआउट का उपयोग करने के लिए android:background="@drawable/rounded_corner_bg"