12
votes

Problème de mise au point de Android WebView

Je me laisse en train de vous battre avec la gestion de la vue sur le WebView: webview messs avec la gestion de la mise au point des composants classiques. Voici une application simple avec juste une éditeur et une webview en elle qui charge Google!

mContent.setOnTouchListener(new View.OnTouchListener() { 
    @Override
    public boolean onTouch(View v, MotionEvent event) {
        switch (event.getAction()) { 
                   case MotionEvent.ACTION_DOWN: 
                   case MotionEvent.ACTION_UP: 
                       if (!v.hasFocus()) { 
                           v.requestFocus(); 
                       } 
                       break; 
               } 
               return false; 
            }
    });


1 commentaires

Voir ma réponse ici: Stackoverflow.com/Questtions/3981716/... Il suffit de faire usage de l'événement AOUTTOUCH


3 Réponses :


2
votes

Il suffit d'ajouter Android: Foncable = "True" em> à votre mise en page WebView:

<WebView android:id="@+id/uiContent"
    android:layout_weight="1"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:focusable="true"/>


0 commentaires

5
votes

Cela a aidé mon problème à se concentrer:

webview.requesfocus (vue.focus_down | vue.focus_up);

Et ceci pour une touche sensible:

webview.getsettings (). SetlightTouchenabled (true);


0 commentaires

7
votes

Assurez-vous que la mise en page parent qui s'étend " groupe de vue " n'a pas de propriété

Android: descendantFocusability = "Blockdescendants" qui empêche la mise en page des enfants de se concentrer sur


1 commentaires

Je veux faire la chose opposée, je ne voulais pas me concentrer sur le contenu, alors ça a fonctionné pour moi: p merci