【问题标题】:touch event remains on previous area after slide an imageview and touhcable event fires on FrameLayout在 FrameLayout 上滑动图像视图和触发可触摸事件后,触摸事件保留在前一个区域
【发布时间】:2012-12-14 07:24:21
【问题描述】:

谁能帮我解决这个问题, 我在设计中使用 FrameLayout,

我有三个图像 A、B 和 C 我需要这样的设计 - 图像 B 应该在 A 后面,onTouch 图像 C 是图像 B 从 A 的背面向下滑动,并且它应该是可点击的。 我已经完成了翻译动画,我使用 FrameLayout 来叠加图像。

问题是,

1) B 图像是可点击的,即使它在 A 的背面,它也会被点击并运行它的 onClick 方法,即使它没有出现。所以它在背景上时不应该被点击。

2) 当我触摸图像 C 时,B 图像从 A 的背面向下滑动,但 B 的可点击区域并未从顶部移动,它仍保留在滑动向下之前 B 最初放置的先前区域。

当单击图像 C 时,我需要从 A 的背面向上和向下滑动图像 B,并且它的可触摸区域也应该移动。

TranslateAnimation t =new TranslateAnimation(0, 0,0,35);
t.setDuration(400);
t.setFillAfter(true);   
t.setInterpolator(new LinearInterpolator());
menuSlideBgId.startAnimation(t);
inFram.startAnimation(t);ImageView shareMenuId = (ImageView) findViewById(R.id.bubbleMenu);
shareMenuId.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                Toast.makeText(getApplicationContext(), "bub", 5000).show();
            }
        });

【问题讨论】:

    标签: android android-layout android-framelayout


    【解决方案1】:

    我使用了 ObjectAnimator 并解决了问题

    【讨论】:

      【解决方案2】:

      我认为你应该看看how-to-disable-button-click 这个例子是针对按钮的,但你可以对 imageViews 做同样的事情,希望它对你有所帮助。

      【讨论】:

      • 启用和禁用将解决第一个问题,而不是第二个问题,可点击区域也应该随着图像滑动而移动。感谢您的回复。
      • 第二个问题很奇怪,你的意思是图像移动但图像的可触摸区域没有?
      • 是的,图像移动了,即使向下移动,它的可触摸区域也保持不变。
      • 第一次听说,贴出你的代码什么的对你有帮助
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多