【问题标题】:Can't drag map over view with GONE visibility无法通过 GONE 可见性将地图拖到视图上
【发布时间】:2019-05-14 20:26:43
【问题描述】:

我已经设置了谷歌地图,当我单击地图上的标记时,我有一个视图(高度为 150dpConstraintLayout)向上滑动并在屏幕底部显示 visibility(View.VISIBLE)

问题是当我取消选择标记并将视图设置为GONE时,我无法使用屏幕的那部分来拖动地图。

我也尝试将focusableclickable 设置为false,但仍然没有。

有什么想法吗? 谢谢!

【问题讨论】:

  • 你解决了吗?我也有同样的问题

标签: android android-layout android-maps-v2


【解决方案1】:

在地图视图上调用 bringToFront()。

map.bringToFront();

其他可能有帮助的事情是将地图视图放在 XML 的末尾。

【讨论】:

  • 抱歉延迟回复。地图没有那种方法,如果我把地图视图放在最后,那么我的布局将不会显示......无论如何,谢谢!
【解决方案2】:

我设法解决了这个问题!

问题出在动画上。

隐藏动画设置为setFillAfter(false)

类似这样的:

Animation animation = AnimationUtils.loadAnimation(getActivity(),R.anim.slide_down);
animation.setDuration(150);
animation.setFillAfter(false);   // <--- This makes the difference for me
animation.setAnimationListener(new Animation.AnimationListener() {
    @Override
    public void onAnimationStart(Animation animation) {
    }

    @Override
    public void onAnimationEnd(Animation animation) {
        theLayout.setVisibility(View.GONE);
    }

    @Override
    public void onAnimationRepeat(Animation animation) {
    }
});
theLayout.startAnimation(animation);

我也确实在该布局和其他内部布局上将 focusablefocusableInTouchModeclickable 设置为 true

选项 2

另外一种可能性是更改该布局的标高,这样当您显示它时它的值会大于地图的标高,而当您隐藏它时它会比地图的标高低。

这样的问题是它不能在较低的 api 设备上工作

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-26
    • 1970-01-01
    • 1970-01-01
    • 2014-08-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多