android: background = « » donne erreur
-
24-09-2019 - |
Question
Je ne pas quoi donner une arrière-plan à l'activité. Quand je laisse ce champ vide de la propriété, il me donne une erreur.
Et j'ai essayé d'utiliser @null
comme valeur, mais il montre fond noir.
Quelqu'un peut-il me guider, comment le rendre transparent?
La solution
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 les différentes versions de la plate-forme, de sorte que vous pouvez d'abord essayer sans elle ).
Réglez ensuite le thème de votre activité dans le manifeste:
<activity android:name="..." android:theme="@style/MyTheme" ... />
Cela devrait faire le travail.
Autres conseils
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 cette tutoriel .