java - 关于android的整个屏幕的点击事件
PHP中文网
PHP中文网 2017-04-17 17:48:49
0
6
356

想给整个屏幕设置一个点击事件 当在屏幕上点击的时候 产生一个Onclick事件 但是我给一个

RelativeLayout relativeLayout = (RelativeLayout) findViewById(R.id.rela);
relativeLayout.setOnClickListener(new OnClickListener() {
            
            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                
            }
        });
        

但是这样貌似不行啊 在整个屏幕上设置Touch事件的监听用这个方法可以实现 但是单机事件好像不行啊

PHP中文网
PHP中文网

认证0级讲师

répondre à tous(6)
Peter_Zhu

RelativeLayout est essentiellement une vue, ce n'est donc pas un problème de définir un écouteur pour celle-ci. Vous ne l'avez pas défini sur match_parent ?

伊谢尔伦

Les points à noter sont :
1. Il est possible de déterminer si le RelativeLayout que vous avez défini remplit tout l'écran en définissant la couleur d'arrière-plan.
2. Y a-t-il une couverture d'événement ? Par exemple, s'il y a un bouton sur RelativeLayout et que le bouton sur lequel vous cliquez, l'événement du bouton sera en conflit avec votre événement RelativeLayout
. Dans ce cas, le bouton couvrira l'événement. Événement RelativeLayout

阿神

Il n'y a pas de 点击事件 dans l'événement tactile sous-jacent 点击事件 est simulé par View Le processus de simulation est complété par plusieurs méthodes de traitement View de touch. L'événement tactile sera transmis du parent View à l'enfant View, puis bouillonnera de l'enfant View au parent View Au cours de ce processus, l'enfant View pourra manger l'événement. En d'autres termes, l'événement tactile ne peut pas revenir au parent View, puisque l'événement ne peut pas être reçu, le parent View ne peut pas terminer la simulation de l'événement clic. La solution pour
est d'hériter et de réécrire plusieurs méthodes de View traitement de touch, et de compléter vous-même la simulation des événements de clic.

洪涛

relativeLayout.setClickable(true);

巴扎黑

FrameLayout rootview=(FrameLayout)findViewById(android.R.id.content);
rootview.setClickable(true);

左手右手慢动作

Je vous suggère de jeter un œil au mécanisme de distribution d'événements Android pour comprendre pourquoi il ne fonctionne pas.
Si vous devez implémenter cette fonction, définissez le OnClickListener de toutes les vues sur le même objet.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal