दिलचस्प पोस्ट
विभाजन की गलती वास्तविक अपरिभाषित व्यवहार है जब हम एक गैर-स्थिर डेटा-सदस्य को संदर्भित करते हैं प्रतिबिंब के माध्यम से एक वस्तु में फ़ील्ड कैसे प्राप्त करें? फ़ंक्शन पॉइंटर्स और डेटा पॉइंटर्स सी / सी ++ में असंगत क्यों हैं? virtualenv – कोई साइट-पैकेज और पाइप अभी भी वैश्विक पैकेज ढूँढने? मेरी XPath क्वेरी (स्क्रैपिंग HTML तालिकाओं) केवल फ़ायरबॉग में क्यों काम करती है, लेकिन मैं जो अनुप्रयोग विकसित कर रहा हूं वह नहीं है? पास जावास्क्रिप्ट ऐरे -> PHP Singletons वास्तव में है कि बुरा कर रहे हैं? SQL तालिका में डुप्लिकेट मान ढूँढना जब कोई आईफोन को हिलाता है तो मुझे कैसे पता लगा सकता है? सीक्यूएल तालिका में सी # डाटाटेबल पढ़ें कैसे printf / sprintf में तर्कों की चर संख्या पारित करने के लिए आईफोन कोर एनीमेशन – एक सर्कल को आकर्षित करना गुलप के कार्यों को एक दूसरे के बाद क्रमिक रूप से चलाने के लिए कैसे करें बड़े स्थानिक स्तरों पर ए * एल्गोरिथ्म को गति कैसे करें? यूनिट परीक्षणों (और क्यों) के लिए उचित कोड कवरेज क्या है?

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

मैं कैसे ImageView लिए एक सीमा निर्धारित कर सकता हूं और अपने रंग को एंड्रॉइड में बदल सकता / सकती हूं?

वेब के समाधान से एकत्रित समाधान "एंड्रॉइड में एक छवि दृश्य के लिए सीमा?"

मैं नीचे चित्र के रूप में छवि दृश्य की पृष्ठभूमि में एक्सएमएल सेट कर रहा हूँ। यह काम करता हैं।

 <?xml version="1.0" encoding="UTF-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android"> <solid android:color="#FFFFFF" /> <stroke android:width="1dp" android:color="#000000" /> <padding android:left="1dp" android:top="1dp" android:right="1dp" android:bottom="1dp" /> </shape> 

और फिर android:background="@drawable/yourXmlFileName" जोड़ें android:background="@drawable/yourXmlFileName" को अपने ImageView

निम्नलिखित कोड है जिसका उपयोग मैं काली सीमा को करता था ध्यान दें कि मैंने सीमा के लिए अतिरिक्त एक्सएमएल फाइल का इस्तेमाल नहीं किया है

 <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/red_minus_icon" android:background="#000000" android:padding="1dp"/> 

यह एक पुरानी पोस्ट है जिसकी मुझे पता है, लेकिन मैंने सोचा था कि यह संभवतः किसी को बाहर मदद कर सके।

यदि आप एक पारभासी सीमा को अनुकरण करना चाहते हैं जो आकृति के "ठोस" रंग को ओवरलैप नहीं करता है, तो इसका उपयोग अपने 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="#55111111" /> <padding android:bottom="10dp" android:left="10dp" android:right="10dp" android:top="10dp" /> <corners android:radius="5dp" /> </shape> </item> <item> <shape android:shape="rectangle" > <padding android:bottom="5dp" android:left="5dp" android:right="5dp" android:top="5dp" /> <solid android:color="#ff252525" /> </shape> </item> </layer-list> 

Xml फ़ाइल में ImageView

 <ImageView android:id="@+id/myImage" android:layout_width="100dp" android:layout_height="100dp" android:padding="1dp" android:scaleType="centerCrop" android:cropToPadding="true" android:background="@drawable/border_image" android:src="@drawable/ic_launcher" /> 

border_image.xml के नाम से कोड नीचे सहेजें और इसे ड्रॉएबल फ़ोल्डर में होना चाहिए

 <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <gradient android:startColor="#ffffff" android:endColor="#ffffff" android:angle="270" /> <corners android:radius="0dp" /> <stroke android:width="0.7dp" android:color="#b4b4b4" /> </shape> 

यदि आप छवि की सीमा को गोलाकार कोने देना चाहते हैं तो आप सीमा रेखा में एक लाइन बदल सकते हैं। xml फ़ाइल

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

यह ऊपर प्रयोग किया गया है लेकिन विशेष रूप से उल्लेख नहीं किया गया है

 setCropToPadding(boolean) If true, the image will be cropped to fit within its padding. 

यह ImageView स्रोत को उसकी पृष्ठभूमि में जोड़ा गया पैडिंग के भीतर फिट होगा।

एक्सएमएल के माध्यम से इसे नीचे दिया जा सकता है,

 android:cropToPadding="true" 

Res / drawables / background.xml जैसे पृष्ठभूमि को पृष्ठभूमि में जोड़ें:

 <?xml version="1.0" encoding="UTF-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android"> <solid android:color="@android:color/white" /> <stroke android:width="1dp" android:color="@android:color/black" /> </shape> 

Res / layout / foo.xml में ImageView पृष्ठभूमि को अपडेट करें:

 ... <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:padding="1dp" android:background="@drawable/background" android:src="@drawable/bar" /> ... 

यदि छवि को पृष्ठभूमि पर खींचने के लिए चाहते हैं तो छविव्यू पैडिंग बहिष्कृत करें।

मुझे यह करना इतना आसान पाया:

1) फ़्रेम को अंदर सामग्री रखने के लिए (9patch टूल के साथ) संपादित करें

2) एक Linearlayout अंदर ImageView को Linearlayout , और Linearlayout की पृष्ठभूमि के रूप में आप इच्छित फ्रेम पृष्ठभूमि या रंग सेट करें। जैसे ही आप अपने अंदर सामग्री रखने के लिए फ़्रेम सेट करते हैं, आपका इमेज़िव्यू फ़्रेम के अंदर होगा (जहां आप 9patch टूल के साथ सामग्री सेट करते हैं)।

आपको इस कोड को res / drawable में एक पृष्ठभूमि। xml बनाना होगा

 <?xml version="1.0" encoding="UTF-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android"> <solid android:color="#FFFFFF" /> <corners android:radius="6dp" /> <stroke android:width="6dp" android:color="@android:color/white" /> <padding android:bottom="6dp" android:left="6dp" android:right="6dp" android:top="6dp" /> </shape> 

इस लंबी मुसीबत का सबसे आसान समाधान मेरे पीछे है

 <FrameLayout android:layout_width="112dp" android:layout_height="112dp" android:layout_marginLeft="16dp" <!-- May vary according to your needs --> android:layout_marginRight="16dp" <!-- May vary according to your needs --> android:layout_centerVertical="true"> <!-- following imageView acts as the boarder which sitting in the background of our main container ImageView --> <ImageView android:layout_width="112dp" android:layout_height="112dp" android:background="#000"/> <!-- following imageView holds the image as the container to our image --> <!-- layout_margin defines the width of our boarder, here it's 1dp --> <ImageView android:layout_width="110dp" android:layout_height="110dp" android:layout_margin="1dp" android:id="@+id/itemImageThumbnailImgVw" android:src="@drawable/banana" android:background="#FFF"/> </FrameLayout> 

निम्नलिखित उत्तर में मैंने इसे पर्याप्त रूप से समझाया है, कृपया उस पर भी एक नज़र डालें!

मुझे उम्मीद है कि यह किसी और के लिए उपयोगी होगा!

उसी XML में मैंने अगला उपयोग किया है:

  <RelativeLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="#ffffff" <!-- border color --> android:padding="3dp"> <!-- border width --> <ImageView android:layout_width="160dp" android:layout_height="120dp" android:layout_centerHorizontal="true" android:layout_centerVertical="true" android:scaleType="centerCrop" /> </RelativeLayout>