web-dev-qa-db-fra.com

Android Transparent TextView?

Simplement, comment rendre un TextView transparent? (Pas de transparence totale)

J'ai cherché la documentation et le réseau Stack et je ne l'ai pas trouvé? Je suppose qu'il y a quelque chose comme ça.

Merci.

MISE À JOUR

C'est le code XML:

<LinearLayout
    xmlns:Android="http://schemas.Android.com/apk/res/Android"
    Android:layout_width="fill_parent"
    Android:layout_height="fill_parent"
    Android:gravity="center_horizontal"
    Android:orientation="vertical"
    Android:background="@drawable/background">

    <ImageView 
    Android:layout_width="fill_parent"
    Android:layout_height="wrap_content"
    Android:id="@+id/header"
    Android:src="@drawable/logo1"
    />
    <ListView Android:id="@Android:id/list"
    Android:layout_width="fill_parent"
    Android:layout_height="fill_parent"
    Android:layout_weight="1"
    Android:paddingRight="5dp"
    Android:scrollbarStyle="outsideOverlay"
    Android:cacheColorHint="#00000000" />


    <TextView
    Android:id="@+id/footer"
    Android:layout_width="wrap_content"
    Android:layout_height="wrap_content"
    Android:textSize="25sp"
    Android:singleLine="true"
    Android:background="#07000000"
    Android:textColor="#FFFFFF"
    Android:text="rrrrr" />

 </LinearLayout>

Je veux que le footerTextView soit transparent so that the ListView items can be seen while scrolling

42
iTurki

S'il vous plaît essayer ce morceau de code ..

<TextView 
   Android:id="@+id/txtview1"
   Android:layout_width="wrap_content" 
   Android:background="@drawable/bg_task" 
   Android:layout_height="wrap_content" 
   Android:textSize="14sp" 
   Android:singleLine="true"
   Android:textColor="#FFFFFF" />

L'image d'arrière-plan utilisée comme transparente peut être résolue.

OU

Android:background="#07000000"

OU

S'il vous plaît essayer ci-dessous ...

<?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:gravity="center_horizontal" Android:orientation="vertical"
    Android:background="@drawable/main_bg">
    <ImageView Android:layout_width="fill_parent"
        Android:layout_height="wrap_content" Android:id="@+id/header"
        Android:src="@drawable/btn_complete" />
    <RelativeLayout Android:layout_width="fill_parent"
        Android:layout_height="fill_parent">
        <ListView Android:id="@+id/list" Android:layout_width="fill_parent"
            Android:layout_height="fill_parent" Android:layout_weight="1"
            Android:paddingRight="5dp" Android:scrollbarStyle="outsideOverlay"
            Android:cacheColorHint="#00000000" />
        <TextView Android:id="@+id/footer" Android:layout_width="wrap_content"
            Android:layout_height="wrap_content" Android:textSize="25sp"
            Android:singleLine="true" Android:background="#07000000"
            Android:textColor="#FFFFFF" Android:text="rrrrr"
            Android:layout_centerInParent="true"
            Android:layout_alignParentBottom="true" />
    </RelativeLayout>
</LinearLayout>
39
Nikhil

Voir le documentation relative aux ressources Android Color pour référence.

En gros, vous avez la possibilité de définir la transparence (opacité) et la couleur directement dans la présentation ou à l'aide de références de ressources.

La valeur hexadécimale que vous définissez est composée de 3 à 4 parties:

  • Alpha (opacité), je parlerai de aa

  • Rouge, je vais me référer comme rr

  • Vert, je vais me référer à lui comme gg

  • Bleu, je vais l'appeler bb

Sans une valeur alpha (transparence):

Android:background="#rrggbb"

ou comme ressource:

<color name="my_color">#rrggbb</color>

Avec une valeur alpha (transparence):

Android:background="#aarrggbb"

ou comme ressource:

<color name="my_color">#aarrggbb</color>

La valeur alpha pour transparence totale est 00 et la valeur alpha pour non la transparence est [~ # ~] ff [~ # ~] .

Voir la gamme complète de valeurs hexadécimales ci-dessous:

100% — FF
 95% — F2
 90% — E6
 85% — D9
 80% — CC
 75% — BF
 70% — B3
 65% — A6
 60% — 99
 55% — 8C
 50% — 80
 45% — 73
 40% — 66
 35% — 59
 30% — 4D
 25% — 40
 20% — 33
 15% — 26
 10% — 1A
  5% — 0D
  0% — 00

Vous pouvez expérimenter des valeurs entre celles-ci.

99
Marmoy

Code ci-dessous pour le noir: -

<color name="black">#000000</color>

Maintenant, si je veux utiliser l'opacité que vous pouvez utiliser ci-dessous le code: -

 <color name="black">#99000000</color> 

et ci-dessous pour le code d'opacité: -

Valeurs d'opacité des hexagones

100% — FF
95% — F2
90% — E6
85% — D9
80% — CC
75% — BF
70% — B3
65% — A6
60% — 99
55% — 8C
50% — 80
45% — 73
40% — 66
35% — 59
30% — 4D
25% — 40
20% — 33
15% — 26
10% — 1A
5% — 0D
0% — 00

reportez-vous à Comprendre les couleurs sur Android (six caractères))

44
duggu

Utilisez ceci:

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

<TextView Android:alpha="0.3" ..., par exemple.

10
ᆼᆺᆼ

Pour définir par programme:

setBackgroundColor(Color.TRANSPARENT);

Pour moi, je devais également le définir sur Color.TRANSPARENT dans la présentation parente.

5
Aaron

Bien que cette réponse soit très tardive mais qu'elle puisse aider d'autres développeurs, je la poste ici.

Les réponses ci-dessus montrent uniquement comment définir un arrière-plan transparent de TextView. Nous pouvons obtenir une structure transparente Textview backcgorund de deux manières:

  1. En définissant un code d'opacité tel que # 88000000 dans Android: attribut d'arrière-plan
  2. En définissant Android: alpha = "0.5" attribut à TextView

La deuxième approche est préférable car elle offre la possibilité de définir l’arrière-plan avec une couleur différente, puis de définir l’opacité de définition du widget sous Android: alpha = "0.2"

Exemple

<TextView
        Android:id="@+id/tv_name"
        Android:layout_width="match_parent"
        Android:layout_height="match_parent"
        Android:background="@color/black"
        Android:alpha="0.3"
        Android:textColor="@color/white"
        Android:textStyle="bold"/>
5
Geek

Si vous recherchez quelque chose comme l'affichage en texte sur l'image de l'application Pulse, faites-le.

 Android:background="#88000000"
Android:textColor="#ffffff"
3
Slartibartfast

Tout le monde répond correctement à propos de la transparence mais n'écoute pas ce que le gars a besoin en ce qui concerne la liste défilant derrière le pied de page.

Vous devez faire en sorte que le pied de page fasse partie de votre ListView. Pour le moment, la liste ne défilera pas derrière car la mise en page de ListView ne passe pas derrière la vue du pied de page avec la transparence. Faites un RelativeLayout et positionnez la transparence en bas.

1
Alex Robęrts

Essayez de régler Android:background="#00000000" dans TextView. Définir alpha de couleur 00 rendra l’arrière-plan transparent.

Je n'ai pas essayé cela, mais ça devrait marcher.

1
Udayan

essayez de définir la transparence avec le concepteur Android-studio dans activity_main.xml. Si vous voulez que ce soit transparent, écrivez-le, par exemple, comme ceci en blanc: Blanc: #FFFFFF, avec 50% de transparence: # 80FFFFFF C'est pour Kotlin tho, je ne suis pas sûr que cela fonctionnera de la même manière pour la version de base Android (Java).

1
Aaron

Au cas où quelqu'un voudrait le faire de manière programmée! Procédez comme suit: Mettez à jour le fichier de couleur dans votre dossier de valeurs.

<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="transparent">#00ffffff</color> <!--This is the transparency line-->
</resources>

puis appelez la transparence par programme

your_textview.setBackgroundResource(R.color.transparent);
1
The Dead Guy

Salut S'il vous plaît essayez avec le code de couleur ci-dessous comme arrière-plan de textview.

Android:background="#20535252"

0
Chirag