J'ai trouvé cette question et j'ai presque le même problème. Comment pourrais-je appliquer l'alpha uniquement à une disposition relative et non à ses enfants? Quelqu'un pourrait-il aider?
J'ai un LinearLayout rectangulaire qui a une marge, des coins arrondis et une valeur alpha de 0,3. À l'intérieur de cette mise en page, j'ai 4 mises en page différentes car j'affiche différentes images dans différentes positions. Mon problème est que, bien que la disposition principale soit de 0,3, je veux que mon enfant soit entièrement visible ou non affecté par son parent alpha, et je me demande comment je peux le faire s'il vous plaît? J'ai essayé de mettre alpha = 1 sur les mises en page des enfants mais cela n'a pas fonctionné. Si vous le définissez sur 0, la disposition des enfants disparaîtra, il semble donc que je puisse réduire en dessous de 0,3 mais pas au-dessus du parent. Est-ce un bug ou je me trompe s'il vous plaît? Je vous remercie.
Au lieu de définir le alpha
du parent, vous pouvez utiliser FrameLayout
et définir d'abord une image d'arrière-plan et définir le alpha
de cet enfant. Par exemple
Au lieu d'utiliser cela
<LinearLayout
Android:background="@drawable/background"
Android:alpha="0.3" >
<LinearLayout>
<Button />
<Button />
</LinearLayout>
</LinearLayout >
Utilisez celui-ci
<FrameLayout>
<ImageView
Android:background="@drawable/background"
Android:alpha="0.3" />
<LinearLayout>
<Button />
<Button />
</LinearLayout>
</FrameLayout>