0

Une barre d'action contextuelle (CAB) s'affiche lorsque vous appuyez longuement sur TextEdit sur Andriod WebView.Transparent de la barre d'action contextuelle Android

J'ai spécifié les styles suivants, afin d'éviter qu'une mise en page ne casse, mais le menu n'est pas devenu transparent et cache TextEdit. Que dois-je écrire avec ce menu pour le rendre transparent?

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <style name="AppTheme" parent="android:Theme.Holo"> 
     <item name="android:actionBarStyle">@style/AppStyle</item> 
     <item name="android:windowActionModeOverlay">true</item> 
    </style> 
    <style name="AppStyle" parent="android:Widget.Holo.ActionBar"> 
     <item name="android:colorBackground">#00000000</item> 
    </style> 
</resources> 

Hide textedit

+0

# 000000 est pour la couleur noire ... –

+0

Finalité ​​# 000000 change de couleur ?? ça marche pour toi ?? –

+0

C'est mon manque facile. J'ai réécrit à "# 00000000". Mais ça ne marche pas aussi. – Tank2005

Répondre

1

Créer une ressource pour vos couleurs et les référencer à partir de là:

<?xml version="1.0" encoding="utf-8"?> 
<resources xmlns:android="http://schemas.android.com/apk/res/android"> 

    <color name="transparentBlack">#00000000</color> 

</resources> 

Modifier le AppStyle à ceci:

<style name="AppStyle" parent="android:Widget.Holo.ActionBar"> 

    <item name="android:background">@color/transparentBlack</item> 

</style> 

La principale différence est fond vs ColorBackground, je ne suis pas vraiment sûr s'il y a une différence de fonctionnement , mais je sais que lorsque je compare mon style de barre d'action transparent de travail et votre style de barre d'action qui est à peu près la seule différence.

Vous pouvez essayer de changer uniquement l'android: colorBackground en android: fond et voir si cela fonctionne seul, mais j'ai trouvé préférable d'utiliser des références au lieu de couleurs de codage dur directement. Si vous êtes curieux d'en changer un seul, essayez-les séparément pour voir s'ils résoudront votre problème.

NOUVEAU SUGGESTION AU 12.22.2014-

Pourquoi ne pas cacher que la barre d'action (mSpecialActionBar.hide();) puis mettre en œuvre un View.OnLongClickListener pour votre activité. Vous pouvez ensuite afficher à nouveau la barre d'action (mSpecialActionBar.show();) sur un long clic. Ou quelque chose de similaire.

@Override 
public void onLongClick(View v) { 

    if (v.getClass() == TextEdit) { 

     mSpecialActionBar.show(); 

    } 
} // end-of-method onLongClick 

Voici une ressource j'ai trouvé utile: http://java.dzone.com/articles/contextual-action-bar-cab

Questions connexes