Why do child views inherit the alpha value from parent layout
That is exactly how it is intended to work.
Why not simply change the alpha of your background drawable "@drawable/bg" to 0.2?
Alternatively, try a FrameLayout with this basic structure:
<FrameLayout> <ImageView android:background="@drawable/bg" android:alpha="0.2" /> <LinearLayout> <Button /> <Button /> </LinearLayout> </FrameLayout>