如何将onClickListener设置为Android中的WHOLE屏幕?

时间:2013-08-01 16:37:27

标签: android textview screen fullscreen onclicklistener

xml布局文件如下所示:

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout  android:id="@+id/my_rootViewID"
    <LinearLayout>

        <ImageView/>

        <TextView/>

        <ImageView/>

    </LinearLayout>
</FrameLayout>

我试过这个:

my_view = findViewById(R.id.my_rootViewID);
my_view.setOnClickListener( new My_OnClickListener() );

我的问题:这只适用于ImageViews,但TextView不可点击。 我也可以将OnClickListener专门设置为TextView,但是我有很多TextView(在其他情况下),所以添加theese听众会非常慢,并且很精细。

2 个答案:

答案 0 :(得分:1)

你可以这样做:

ViewTreeObserver viewTreeObserver = myView.getViewTreeObserver();
viewTreeObserver.addOnGlobalLayoutListener(new OnGlobalLayoutListener() {...}

来自ViewTreeObserver的文档:

  

视图树观察器用于注册可以的侦听器   通知视图树中的全局更改。这样的全球事件   包括但不限于整棵树的布局,从头开始   绘图通过,触摸模式改变

答案 1 :(得分:0)

您可以在布局上添加透明视图,并为此视图设置侦听器。它将拦截所有点击事件。