2013-02-13 26 views
5

क्या मैं हासिल करना चाहते हैं इस लेआउट की तरह है: enter image description hereइस छवि लेआउट की तरह एंड्रॉइड यूआई कैसे प्राप्त करें? एंड्रॉयड के बारे में: clipChildren

मुझे लगता है कि छवि की तरह प्राप्त करने के लिए इस कोड का उपयोग करने के लिए, की कोशिश की है, लेकिन दुर्भाग्य से, मैं असफल रहा।

<RelativeLayout 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_marginBottom="10dp" 
     android:clipChildren="false" 
     > 



     <RelativeLayout 
      android:id="@+id/text_area_third" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:background="@drawable/round_corner_background" 
      android:focusable="false" 
      android:paddingBottom="5dp" 
      android:paddingLeft="5dp" 
      android:paddingRight="5dp" 
      android:paddingTop="5dp" > 

      <TextView 
       android:id="@+id/text_download_purch_third" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_alignParentLeft="true" 
       android:layout_alignRight="@+id/acron_icon" 
       android:layout_marginLeft="5dp" 
       android:layout_marginRight="30dp" 
       android:layout_marginTop="10dp" 
       android:gravity="left" 
       android:maxLines="2" 
       android:text="1asdasdasdasdadsasdasdadasdasdasdasdasdasdasdasd" 
       android:textColor="@color/black" 
       android:textSize="10sp" 
       android:textStyle="normal" /> 

      <ImageView 
       android:id="@+id/acron_icon" 
       android:layout_width="20dp" 
       android:layout_height="20dp" 
       android:layout_alignParentRight="true" 
       android:layout_centerVertical="true" 
       android:layout_margin="5dp" 
       android:layout_marginTop="10dp" 
       android:background="@drawable/acron" 
       android:scaleType="fitCenter" /> 
     </RelativeLayout> 

     <LinearLayout 
      android:layout_alignTop="@+id/text_area_third" 
      android:layout_alignLeft="@+id/text_area_third" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:background="@color/orange" 
      android:layout_marginLeft="-10dp" 
      android:layout_marginTop="-10dp" 
      android:padding="3dp" > 

      <TextView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:text="GET" 
       android:textColor="@color/white" 
       android:textSize="13sp" 
       android:textStyle="bold" /> 
     </LinearLayout> 

    </RelativeLayout> 

enter image description here

आप देख सकते हैं कि, "GET" लेबल (नारंगी पृष्ठभूमि के साथ) माता-पिता के लिए बाध्य के माध्यम से काटा जाता है: यह मेरा कोड का स्निपेट है। मैंने android:clipChildren="false" सेट किया है, लेकिन फिर भी यह बंद हो गया है। क्या कोई मेरी मदद कर सकता है?

+0

अगर आप इसे माता-पिता लेआउट के लिए संरेखित क्या होता है (का उपयोग करते हुए 'layout_alignParentTop/छोड़ा ') के बजाय' text_area_third' की (और तदनुसार 'layout_marginLeft/Top' समायोजित)? – Geobits

+0

@Geobits: मैंने भी कोशिश की है, लेकिन एक ही त्रुटि –

उत्तर

3

एक एकल RelativeLayout जाने का रास्ता है । चीजों को यथासंभव सरल रखना याद रखें। सापेक्ष समय में अंतिम घोषित तत्व दूसरों के शीर्ष पर प्रस्तुत किए जाते हैं। नीचे दिए गए एक्सएमएल को आपकी जरूरतों के अनुसार (थोड़े) फिट होना चाहिए, बस आपको आवश्यकतानुसार छवियों और मार्जिन और आकार समायोजित करना चाहिए।

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="180dp" 
    android:layout_height="60dp" 
    android:background="#DDD" > 

    <TextView 
     android:id="@+id/text_download_purch_third" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:layout_marginBottom="3dp" 
     android:layout_marginLeft="12dp" 
     android:layout_marginRight="8dp" 
     android:layout_marginTop="10dp" 
     android:background="@drawable/round_corner_background" 
     android:maxLines="2" 
     android:paddingLeft="4dp" 
     android:paddingRight="25dp" 
     android:paddingTop="16dp" 
     android:text="1asdasdasdasdadsasdasdadasdasdasdasdasdasdasdasd" 
     android:textColor="@color/black" 
     android:textSize="10sp" 
     android:textStyle="normal" /> 

    <ImageView 
     android:id="@+id/acron_icon" 
     android:layout_width="20dp" 
     android:layout_height="20dp" 
     android:layout_alignParentRight="true" 
     android:layout_centerVertical="true" 
     android:layout_margin="5dp" 
     android:layout_marginTop="10dp" 
     android:background="@drawable/acron" 
     android:scaleType="fitCenter" /> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_marginLeft="8dp" 
     android:layout_marginTop="4dp" 
     android:background="#FFA0A0" 
     android:padding="2dp" 
     android:text="GET!" 
     android:textColor="@color/white" 
     android:textSize="13sp" 
     android:textStyle="bold" /> 

</RelativeLayout> 
0

क्या आपने फ्रेमलेआउट का उपयोग करने के बारे में सोचा है ?? यही कारण है कि छवि आसान से मढ़े गए है ... (बनाने एक लेआउट/दृश्य दूसरे के शीर्ष पर दिखाई देते हैं) ... यहाँ एक अच्छा ट्यूटोरियल है ...

http://mobile.tutsplus.com/tutorials/android/android-sdk_frame-layout/

+0

['FrameLayout'] (http://developer.android.com/reference/android/widget/FrameLayout.html) को और अधिक पकड़ने के लिए कभी भी उपयोग नहीं किया जाना चाहिए एक बच्चे से – Eric

+1

दस्तावेज़ कहता है कि इसका उपयोग करने के लिए ठीक है अगर आपको अलग-अलग स्क्रीन रिज़ॉल्यूशन की परवाह नहीं है .. – chuthan20

+0

@Eric: क्या आप इस कारण के बारे में और विस्तार कर सकते हैं कि 'फ़्रेमलाउट' का उपयोग 1 से अधिक बच्चे को रखने के लिए क्यों नहीं किया जाना चाहिए? –