2011-08-30 15 views
6

मेरे पास एंड्रॉइड में ImageView है। मैं आंशिक रूप से स्क्रीन के अंदर छवि को स्थानांतरित करना चाहता हूं जैसे छवि का केवल एक हिस्सा दिखाई दे रहा है। अगर मैं xml में मार्जिन या पैडिंग सेट करता हूं तो छवि घट जाती है। मैंने onCreate विधि में Animation अनुवाद का उपयोग किया। लेकिन मुझे पहली बार दृश्य प्रस्तुत होने पर छवि दिखाई दे रही है। मैं चाहता हूं कि छवि दृश्यमान दिखाई दे बिना आंशिक रूप से दिखाई दे। ऐसा करने का कोई रास्ता नहीं है?एंड्रॉइड में स्क्रीन को आंशिक रूप से स्क्रीन से बाहर ले जाएं

+0

यदि संभव हो तो आप अपना छवि दृश्य कोड पोस्ट कर सकते हैं? – EpicOfChaos

+0

आपके पास ऊंचाई और चौड़ाई क्या है? यदि आप उन्हें अपने स्क्रीन आकार से बड़े मूल्य पर सेट करते हैं तो आप इसे कहीं भी स्थानांतरित करने के लिए मार्जिन या पैडिंग का उपयोग करने में सक्षम होना चाहिए। आपका लेआउट स्क्रीन आकार से भी बड़ा होना होगा। – FoamyGuy

+0

कोई छवि दृश्य कोड नहीं है। मैं छवि को एक्सएमएल फाइल में डाल रहा हूं। – user866821

उत्तर

2

इसके बारे में कैसे।

अपनी गतिविधि के onCreate में:

ImageView yourImage = (ImageView)findViewById(R.id.your_image_control_id); 
yourImage.setX(1000); 
yourImage.setY(1000); 

इस तरह, यह ठीक से स्टार्टअप पर स्थिति में है। या आप एक AbsoluteLayout का उपयोग कर सकते हैं और उस तरह छवि के एक्स और वाई निर्देशांक सेट कर सकते हैं। सुनिश्चित करें कि आप ऊंचाई या चौड़ाई के लिए fill_parent का उपयोग नहीं कर रहे हैं।

+3

मेरा एपीआई 2.1 और उच्चतम है। SetX एपीआई 11 से है। पूर्ण लेआउट बहिष्कृत नहीं है। – user866821

4
माता-पिता को ध्यान में रखते

(जैसे LinearView), सेट ClipChildrens=false यदि आप

जांच इस कोड को देख रहे हैं, यह मेरे लिए काम करता है ...

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

    <ImageView 
     android:id="@+id/imageView1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="right" 
     android:layout_marginRight="-20dp" 
     android:src="@drawable/ic_launcher" /> 

</FrameLayout> 
+0

उत्तर के लिए धन्यवाद। यह – user866821

+0

काम नहीं कर रहा है यह मेरे लिए भी काम नहीं करता है। :( – Hesam

+0

@ हेसम मैंने जवाब –

2

मैंने पाया कि यदि आप नकारात्मक का उपयोग मार्जिन, तो आप विपरीत पक्ष पर अभिभावक को संरेखित नहीं कर सकते हैं, इसलिए, मान लीजिए कि आप दृश्य के दाईं ओर छवि को आधा बंद करने की कोशिश कर रहे हैं, आप एंड्रॉइड निर्दिष्ट नहीं कर सकते: layout_alignParentLeft। इसके अलावा, अगर आपको पूर्ण छवि की आवश्यकता है और इसे क्लिप नहीं करना चाहते हैं, जैसे कि आप पूर्ण स्क्रीन पर एनिमेट करना चाहते हैं, तो आपको पैरेंट लेआउट एंड्रॉइड सेट करना होगा: clipChildren = "false"। निम्नलिखित एक्सएमएल डीईएफ़ मेरे लिए काम करता है:

<ImageView 
     android:id="@+id/you_feature_image" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentBottom="true" 
     android:layout_alignParentRight="true" 
     android:layout_alignParentTop="true" 
     android:layout_marginRight="@dimen/feature_margin_right" 
     android:contentDescription="feature_image" 
     android:gravity="center_vertical" 
     android:padding="@dimen/zero" 
     android:paddingBottom="@dimen/zero" 
     android:paddingLeft="@dimen/zero" 
     android:paddingRight="@dimen/zero" 
     android:paddingTop="@dimen/zero" 
     android:src="@drawable/feature_phone_02_2x" /> 

मैं इस पोस्ट कर रहा हूँ क्योंकि मैं सिर्फ अपने आप को यह पता लगाने की कोशिश कर कुछ ही घंटों जला दिया है, और शायद यह भविष्य में वे आना चाहिए में किसी और की मदद चाहते हैं सोचा इस सवाल के पार मैंने किया।

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