0

我正在尝试从 url 加载图像并通过滑动它们来一张一张地显示。我的刷卡代码运行良好。现在我需要为页面放置页眉和页脚。

页眉和页脚需要在 10 秒内不可见,一旦用户点击屏幕,它必须重新出现,并且在接下来的 10 秒内它必须不可见。我创建了一个处理程序类来使可见和不可见。这两个代码似乎是单独工作的,但是当我一起加入时,滑动没有联系。

在我的布局中,我需要页脚和页眉在图像视图上方,所以我的 xml 文件如下

<FrameLayout>
    <ImageView>    </ImageView>
    <RelativeLayout>
       <RelativeLayout
          android:layout_alignParentTop="true">
       </RelativeLayout>
       <RelativeLayout
          android:layout_alignParentBottom="true">
       </RelativeLayout> 
   </RelativeLayout>
</FrameLayout>

我的 onTouch 动作如下

public boolean onTouchEvent(MotionEvent event) 
    {
        if (event.getAction() == MotionEvent.ACTION_DOWN)
        {
            System.out.println("Touch Down X:" + event.getX() + " Y:" + event.getY());
            hide_layout.setVisibility(View.VISIBLE);
            return super.onTouchEvent(event);
        }
        else if (event.getAction() == MotionEvent.ACTION_UP)
        {
            System.out.println("Touch Up X:" + event.getX() + " Y:" + event.getY());
            startProgress();
            return super.onTouchEvent(event);
        }
        else if (gestureDetector.onTouchEvent(event))
        {
            return true;
        }
        else
        {
            return false;
        }
    }

startProgress() 是处理程序类,它使相对布局再次不可见

public void startProgress()
    {
        Runnable runnable = new Runnable()
        {
            @Override
            public void run()
            {
                try
                {
                    Thread.sleep(2000);
                }
                catch (InterruptedException e)
                {
                    e.printStackTrace();
                }

                handler.post(new Runnable()
                {
                    @Override
                    public void run()
                    {
                        hide_layout.setVisibility(View.INVISIBLE);
                    }
                });
            }
        };
        new Thread(runnable).start();
    }
4

1 回答 1

0

您需要提供一些额外的信息才能找到问题所在:

  • 在做什么startProgress()方法
  • 您在页眉和/或页脚中是否有运动事件(或单击)处理

作为一般注意点,请记住,Android 正在向视图层次结构传递运动事件,从最后添加的开始并连续移动,直到消费它(返回 true)或直到到达添加的第一个视图。

所以在你的布局上,由于页脚是最后添加的视图,它将是第一个接收运动事件的,然后是标题,并且只有在它被传递到 imageView 之后,如果之前没有消耗。

于 2012-10-15T11:47:15.857 回答