我使用了基于bottom-sheet的here库(this library的修改版本,也写了here),以便有一个很好的过渡在崩溃(AKA“偷看”)状态和扩张状态之间。
图书馆有它的问题,但总的来说我已经解决了所有问题。
最近我们发现,从所有广告网络屏幕返回后,返回到具有底页的屏幕,底页进入了一种奇怪的扩展状态。
我已经决定是时候尝试支持库的新底页(显示为here),但我发现它有很多基本的相关问题:
所有这一切都没有试图处理我想要的东西,这是我以前做过的三个阶段。
起初我以为我没有好好利用这个库,所以我尝试了两个我发现的样本:
我还尝试了一些我在StackOverflow上找到的代码,但似乎所有样本都差不多。
我注意到他们都有同样的问题,所以我已经报道了这些问题:
现在我尝试各种方法来调查和解决问题,但我仍然没有这样做。
有没有办法解决这些问题?使用支持库使用底页的正确代码应该是什么?
答案 0 :(得分:4)
<强>更新强> 链接到full answer,您可以在其中找到有关如何获取Google地图等完整行为的所有说明。
用你想要的东西帮助你
我想要的是什么,这是我之前完成的三个阶段
使用支持库23.x +您可以修改默认BottomSheetBehavior
,并按以下步骤再添加一个属性:
CoordinatorLayout.Behavior<V>
BottomSheetBehavior
文件复制到新文件。修改方法clampViewPositionVertical
:
添加新状态
public static final int STATE_ANCHOR_POINT = X;
修改下列方法:onLayoutChild
,onStopNestedScroll
,BottomSheetBehavior<V> from(V view)
和setState
(可选)
所以现在你有了这些状态:
STATE_HIDDEN
STATE_COLLAPSED
STATE_DRAGGING
STATE_ANCHOR_POINT
STATE_EXPANDED点。
您可以像原始setBottomSheetCallback
一样使用BottomSheetBehavior
XML(没有任何关于像谷歌地图这样的视差图像)看起来像:
<CoordinatorLayout>
<FrameLayout/>
<AppBarLayout>
<CollapsingToolbarLayout>
<Toolbar/>
</CollapsingToolbarLayout >
</AppBarLayout >
<NestedScrollView>
<LinearLayout/>
</NestedScrollView>
</CoordinatorLayout >
我要添加link to the example project,您可以在其中找到您要找的内容
以下是它的外观:
[]
答案 1 :(得分:0)
您可以使用此library。据我所知,这个库没有问题。