当触摸布局上的空间时,如何将INVISIBLE视图恢复为VISIBLE?

时间:2014-05-31 11:40:16

标签: android view touch ontouchlistener

简单地说,我想在触摸textView时将其设置为invisible,并在触摸viewvisible的屏幕的同一区域时进行设置再次visible。请参考下面的代码,它可能会澄清我想要实现的任务。

代码:

targetTv.setOnTouchListener(new OnTouchListener() {

        @Override
        public boolean onTouch(View v, MotionEvent event) {
            // TODO Auto-generated method stub
            Log.i(TAG, "button is touched @view ("+v.getX()+","+v.getY()+")");
            Log.i(TAG, "button is touched @event ("+event.getX()+","+event.getY()+")");

            if (targetTv.getVisibility() == targetTv.VISIBLE) {
                targetTv.setVisibility(targetTv.INVISIBLE);
            }else {
                targetTv.setVisibility(targetTv.VISIBLE);
            }
            return false;
        }
    });

1 个答案:

答案 0 :(得分:0)

当视图不可见时,不会向其分派任何事件。

因此,您应该使用始终可见的布局包装视图,这样即使包含的视图不可见,它也可以检测事件。

然后你必须在容器中添加一个onClickListener,它会包含被包装项目的可见性。