2010-02-02 5 views
0

Je ne sais pas quoi donner un arrière-plan à l'activité. Lorsque je laisse cette propriété vide, cela me donne une erreur.android: background = "" donne une erreur

Et j'ai essayé d'utiliser @null comme une valeur, mais il montre un arrière-plan noir.

Quelqu'un peut-il me guider, comment le rendre transparent?

+0

Souhaitez-vous que toute l'application soit transparente ou simplement cette activité? –

Répondre

1

Vous devriez le faire en utilisant des styles. En res/values/styles.xml, une définition de thème:

<style name="MyTheme"> 
    <item name="android:background">@android:color/transparent</item> 
    <item name="android:windowIsFloating">true</item> 
</style> 

Pour autant que je sache, vous devez définir windowIsFloating, sinon le moteur d'exécution ne dessinera pas un fond translucide (probablement pour des raisons de performance ... mais j'ai vu ce changement de comportement entre différentes versions de plate-forme, de sorte que vous pouvez d'abord essayer sans elle).

Définissez ensuite le thème de votre activité dans le manifeste:

<activity android:name="..." android:theme="@style/MyTheme" ... /> 

Cela devrait faire le travail.

1

Pour une activité que vous pouvez définir le thème à translucide dans la méthode onCreate:

protected void onCreate(Bundle savedInstanceState) { 
super.onCreate(savedInstanceState); 
... 
setTheme(android.R.style.Theme_Translucent);} 

Vous pouvez aussi le faire dans le fichier xml comme dans ce tutorial.

+0

il est trasnparent mais en montrant le fond blanc puis-je changer ce fond transparent à une autre couleur ou noir? – UMAR

+0

Comme son translucide il sera clair mais quelle que soit l'activité en arrière-plan est ce que vous verrez ci-dessous –

+0

oui vous avez raison, mais je veux l'activité précédente, puis un arrière-plan tranparent entre les deux et nouvelle activité. signifie que je pouvais voir à travers l'activité précédente de couleur transparente noire. une idée? – UMAR