web-dev-qa-db-fra.com

Comment rendre un linearLayout partiellement transparent dans Android?

J'ai un RelativeLayout contenant 2 LinearLayouts l'un d'eux couvre partiellement l'autre. Je veux rendre la partie du LinearLayout en haut transparente pour que je puisse aussi voir le 2ème LinearLayoutsachant que j'ai 2 images comme arrière-plan pour les 2 LinearLayouts.

21
user2137817

Lorsque nous définissons la couleur, c'est comme ARGB (Alpha Red Green Blue). Vous devez changer l'alpha dans le code couleur pour augmenter ou diminuer la quantité de transparence :

Vous pouvez l'étendre de 00 à FF (Hexa Decimal)

Pour une transparence maximale => # 00555555 (Ici représente l'alpha)

Pour une transparence minimale ou nulle => # FF555555 (Ici FF représente l'alpha)

Donc, pour définir le transparence d'une ImageView vous pouvez coder comme ceci:

ImageView image = (ImageView) findViewById(R.id.myImage);
image.setAlpha(0.3);

En outre, vous pouvez définir l'alpha de votre LinearLayout comme ceci :

LinearLayout ll = (LinearLayout) findViewById(R.id.linearlayout);
ll.setAlpha(0.4);
56
arshu

Utilisez ceci dans votre mise en page

Android:alpha="0.5"

0.0 est totalement transparent, 1.0 est totalement opaque.

19
morroko

Rendez votre LinearLayout Arrière-plan transparent:

Android:background="@Android:color/transparent"

et pour rendre votre mise en page partiellement transparente, ce lien peut vous aider: Comment créer une vue partiellement invisible

Modifier: si vous avez une image comme arrière-plan de votre mise en page, je pense que vous pouvez définir l'alpha pour votre LinearLayout et le contrôler à partir du code sans changer votre arrière-plan, pour rendre transparente votre mise en page avec l'image d'arrière-plan:

Android:alpha=""

alpha property of the view, as a value between 0 (completely 
transparent) and 1 (completely opaque)
11
Arash GM

définir l'arrière-plan de la disposition linéaire supérieure comme

background = "# CCFFFFFF" dans votre fichier layout.xml

changez le mode alpha pour plus de transparence ici "CC".

("00" comme entièrement transparent)

https://stackoverflow.com/a/4990254/665561

3

Il est si tard mais cela sera utile pour les autres ...

créer un fichier xml comme celui-ci ...

  <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
    Android:layout_width="fill_parent"
    Android:layout_height="fill_parent"
    Android:orientation="vertical" 
    >

    <LinearLayout
        Android:id="@+id/l1"
        Android:layout_width="190dp"
        Android:layout_height="match_parent"
        Android:background="#234234"
        Android:orientation="vertical" >

    <Button
        Android:id="@+id/button1"
        Android:layout_width="wrap_content"
        Android:layout_height="wrap_content"
        Android:onClick="onClickNext"
        Android:text="Next >" />
    </LinearLayout>

    <LinearLayout
        Android:id="@+id/l2"
        Android:layout_width="wrap_content"
        Android:layout_height="match_parent"
        Android:layout_weight="1"
        Android:alpha=".05"
        Android:orientation="vertical" >
        </LinearLayout>

</LinearLayout>

allez maintenant à votre manifeste ... et ajoutez cette ligne ...

<activity Android:name=".Activity" 
         Android:theme="@Android:style/Theme.Translucent">

enjoyyyy ...

3
Devraj

définissez la couleur d'arrière-plan comme ceci:

Android: background = "# 00ffffff"

1
Seda T.

Ajoutez le thème à l'activité qui doit être transparent dans votre fichier manifeste.

    <activity Android:name=".YourActivity"
     Android:theme="@Android:style/Theme.Translucent">
   </activity>
0
Kanagalingam