2012-10-15 37 views
0

我正在尝试从url加载图片并通过滑动来逐个显示。我的刷卡代码运行良好。现在我需要为页面放置页眉和页脚。android - 多点触控操作

页眉和页脚需要在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(); 
    } 

回答

0

您需要提供s青梅更多的信息,以使人们有可能找到怎么回事错误:

  • 什么是做startProgress()方法
  • 你有运动事件(或点击)在页眉和/或页脚

处理作为关注的一般要点,请记住,Android正在提供动作事件以查看层次结构,从最后一个添加和移动的sequetialy开始,直到一个消耗它(返回true)或直到添加第一个视图。

因此,在您的布局中,作为页脚是最后添加的视图,它将是第一个接收动作事件,接着是标题,并且只有在它传递到imageView之后(如果没有消耗之前)。

+0

我在我的问题中加入了startProgress()方法.... –

+0

您没有回答我上面提到的第二点。尝试在你的'startProgress()'中使用'hide_layout.setVisibility(View.GONE);'。这将从接收运动证据的视图中移除页眉和页脚。 – Luis

+0

我有页眉和页脚的运动事件。可见性消失也不起作用。一旦布局消失,再次用户触摸我想使其可见,在刷卡我需要加载下一个图像。只有触摸动作正在发生.... –