2012-05-29 21 views
9

पर फ़्रेम या सीमा जोड़ें जो मैं करने की कोशिश कर रहा हूं वह एक उदाहरण छवि के साथ बेहतर काम करेगा। जैसा कि आप नीचे देख सकते हैं मेरे पास एक भूरे रंग की पृष्ठभूमि है, उस पर एक छवि युक्त एक पैडिंग वाला एक कंटेनर बैठता है। कंटेनर में थोड़ा सा छाया भी है।छवि दृश्य और ड्रॉप-छाया

मैं क्या जानना चाहता हूं, क्या मेरे लेआउट.एक्सएमएल में ऐसा करने का इतना गैर-दर्दनाक तरीका है? एक सामान्य HTML दस्तावेज़ में यह आसान हो गया होगा। लेकिन चूंकि यह एक मोबाइल ऐप के लिए है और कई स्क्रीन संकल्पों के लिए है और इसी तरह, यह थोड़ा मुश्किल साबित हो रहा है।

कोई सलाह?

enter image description here

संपादित करें: मैं अंत में एक 9patch छवि का उपयोग कर बस गए। हर चीज इसके निर्माण में वास्तव में चिकनी हो गई, लेकिन जब मैं वास्तव में इसे अपने ऐप में उपयोग करता हूं तो मैं छवि के दाहिनी और निचले हिस्से में इन अंधेरे पट्टियों को देखता हूं। ड्रॉपशैडो काम करने लगता है, यह एक बहुत हल्की बूंद छाया है .. लेकिन उन बरगद धारियों ??

enter image description here

उत्तर

5

यह उचित गद्दी और 9 पैच छवि के साथ किया जा सकता है। यह link देखें, यह आपकी मदद कर सकता है।

+0

सबसे निश्चित रूप से इसके बारे में जाने का सबसे अच्छा तरीका है। धन्यवाद! – Tiwaz89

+0

कृपया क्या आप मेरी संपादित पोस्ट पर फिर से देख सकते हैं और 9patch के साथ परिणाम प्राप्त कर सकते हैं? ऐसा लगता है कि छवि के दाएं और नीचे पर ये अंधेरे पट्टियां हैं। समझ में नहीं आता कि वे वहां क्यों हैं? – Tiwaz89

+0

क्या आप अपनी 9 पैच फ़ाइल पोस्ट कर सकते हैं, ऐसा लगता है कि उस 9 पैच के साथ कुछ समस्या है। – orchidrudra

5

imageView होने दो संपत्ति android:background और android:src

http://developer.android.com/reference/android/widget/ImageView.html

ड्रॉप छाया के साथ एक खाली सफेद फ्रेम बनाएं (फ़ोटोशॉप अनुशंसित)।

तो सिर्फ इस

<ImageView android:id="@+id/imageView" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:src="@drawable/image" 
    android:background="@drawable/whiteFrame" 
    android:padding="10dp" > 
</ImageView> 
+0

धन्यवाद बहुत सराहना की। क्या यह अभी भी विभिन्न स्क्रीन घनत्व पर काम करेगा? क्योंकि छवि और व्हाइटफ्रेम विभिन्न संकल्पों के साथ विभिन्न फोनों पर आकार बदलने में सक्षम नहीं होगा, सही? – Tiwaz89

+0

नौ पैच छवि का उपयोग करें, @ ऑर्किड्रुद्र के प्रदत्त लिंक देखें। –

+0

कृपया क्या आप मेरी संपादित पोस्ट पर फिर से देख सकते हैं और 9patch के साथ परिणाम प्राप्त कर सकते हैं? ऐसा लगता है कि छवि के दाएं और नीचे पर ये अंधेरे पट्टियां हैं। समझ में नहीं आता कि वे वहां क्यों हैं? – Tiwaz89

15

आप एक xml फ़ाइल (editBorder.xml कहते हैं) drawable फ़ोल्डर में लिख कर एक दृश्य के लिए एक सीमा प्रदान कर सकते हैं: android:background="@drawable/editBorder"

रूप

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

    <stroke 
     android:width="5dp" 
     android:color="#EBDDE2" /> 

    <padding 
     android:bottom="2dp" 
     android:left="2dp" 
     android:right="2dp" 
     android:top="4dp" /> 

    <gradient 
     android:centerColor="@color/white" 
     android:endColor="@color/white" 
     android:startColor="@color/white" /> 

    <corners android:radius="8dp" /> 

</shape> 

और इस सीमा प्रदान करने के लिए, का उपयोग करें बयान imageView में इससे आपकी समस्या का समाधान हो जाना चाहिए। :)

+0

धन्यवाद यह वास्तव में आशाजनक दिखता है, मैंने अभी कोशिश की लेकिन मुझे एक अपवाद मिला कि "खींचने योग्य/संपादित करने में विफल" एक ड्रायबल में संपादित करें "। कोई विचार? – Tiwaz89

+1

आज़माएं: अपना कोड साफ़ करें, संकलित करें और फिर से चलाएं। या, जैसा कि आप एक्सपीएल फ़ाइल का नाम अपरकेस अक्षर के साथ नहीं दे सकते, तो edit_border.xml दें – Shrikant

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