无法将地图拖到具有GONE可见性的视图上

时间:2019-05-14 20:26:43

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

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

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

我也尝试将focusableclickable设置为false,但还是没有。

有什么主意吗? 谢谢!

2 个答案:

答案 0 :(得分:0)

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

map.bringToFront();

其他可能有用的方法是将地图视图放在XML的末尾。

答案 1 :(得分:0)

我设法解决了这个问题!

问题出在动画上。

隐藏动画设置为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设备上不起作用