我已经设置了谷歌地图,并且有一个视图(高度为ConstraintLayout
的视图150dp
,当我单击时,该视图会向上滑动并在屏幕底部显示visibility(View.VISIBLE)
地图上的标记。
问题在于,当我取消选择标记并将视图设置为GONE
时,无法使用屏幕的那部分来拖动地图。
我也尝试将focusable
和clickable
设置为false
,但还是没有。
有什么主意吗? 谢谢!
答案 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);
我还在该布局和其他内部布局上将 focusable
、focusableInTouchMode
和 clickable
设置为 true。
另一种可能性是更改该布局的高程,这样当您显示什么时,它的值会比地图的高程值大,而当您隐藏它时,它的值会比地图的高程值低。
这样做的问题是它在较低的api设备上不起作用