2011-09-13 14 views
12

मेरे ऐप में मैं शीर्ष स्तर LinearLayout की एक पृष्ठभूमि छवि निर्धारित किया है और फिर पृष्ठभूमि मैं .2 के लिए अपने अल्फा सेट फीका करने के लिए माता पिता के लेआउट से अल्फा मूल्य के वारिस है, लेकिन यह है कि में एक अजीब समस्या पैदा करता है यह लेआउट के सभी बच्चों के लिए भी अल्फा सेट करता है, भले ही मैं स्पष्ट रूप से बच्चों में एक अलग अल्फा मान परिभाषित करता हूं।क्यों बच्चे विचारों

क्या माता-पिता के अल्फा मान को सेट करना संभव है और बच्चे को प्रभावित नहीं करना संभव है?

क्या वहाँ है कि विचारों बच्चों पर अल्फा को प्रभावित किए बिना शीर्ष स्तर के दृश्य पर अल्फा स्थापित करने के लिए एक उचित तरीका है?

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/ll1" 
    android:orientation="vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:gravity="center" 
    android:background="@drawable/bg" 
    android:alpha="0.2"> 
     <Button android:id="@+id/btn1" 
      android:text="Set 1" 
      android:layout_width="300px" 
      android:layout_height="150px" 
      android:layout_gravity="center" 
      android:background="@drawable/button1" 
      android:tag="1" 
      android:alpha="1"/> 
     <Button android:id="@+id/btn2" 
      android:text="Set 2" 
      android:layout_width="300px" 
      android:layout_height="150px" 
      android:layout_gravity="center" 
      android:background="@drawable/button2" 
      android:tag="2"/> 
</LinearLayout> 

उत्तर

20

यह बिल्कुल काम करने का इरादा है।

क्यों नहीं अपनी पृष्ठभूमि के अल्फा को "खींचने योग्य/बीजी" को 0.2 में बदलना क्यों नहीं है?

वैकल्पिक रूप से, इस बुनियादी संरचना के साथ एक FrameLayout कोशिश:

<FrameLayout> 
    <ImageView 
     android:background="@drawable/bg" 
     android:alpha="0.2" /> 
    <LinearLayout> 
     <Button /> 
     <Button /> 
    </LinearLayout>  
</FrameLayout> 
+0

बहुत अच्छा विचार! =) –

+0

अच्छा साइड, यह मेरे लिए काम किया ... – krisDrOid

+0

मेरे लिए धन्यवाद काम –

1

आपको फ़्रेमेलआउट का उपयोग करने की आवश्यकता होगी। अन्यथा आपका बटन एप्ला सेट के साथ एक लाइनरलेआउट द्वारा लगाया गया है जो बटन को भी प्रभावित करेगा।

3

एक तरह से रंग अर्थात #RRGGBB के बजाय के लिए हैश-कोड के भीतर अल्फा मान सेट करने के #AARRGGBB का उपयोग करें। यह सुनिश्चित करता है कि अल्फा मान विरासत में नहीं है।

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