12

バックグラウンド

折りたたまれた(別名「覗いた」)状態と展開された状態の間の移行をうまく行うために、ボトムシートライブラリの修正版を使用しました(ここでは、このライブラリに基づいて、ここにも書いています)。

ライブラリには問題がありましたが、一般的にはすべて修正しました。

問題

最近、すべてのアドネットワーク画面からボトム シートのある画面に戻ると、ボトム シートが展開された奇妙な状態になることがわかりました。

サポート ライブラリの新しいボトムシート (ここに表示) を試してみることにしましたが、基本的な関連する問題がたくさんあることがわかりました。

  1. 一番下のシートがすぐに表示され、間違った高さになります。
  2. 「wrap_content」をサポートせずに、高さをすぐに設定する必要があります。また、ツールバーを含む他のビューの上に表示されるため、展開時に高さを「match_parent」にすることもできません。
  3. 非表示の場合でも、タッチ イベントに反応して再び表示されます。
  4. 初期状態を設定するとクラッシュします。

そして、これらすべては、私が以前に行った 3 フェーズである、私が望んでいたことを処理しようとさえしませんでした。

私が試したこと

最初は、ライブラリをうまく使用していないと思ったので、見つけた 2 つのサンプルを試してみました。

StackOverflow で見つけたコードもいくつか試しましたが、すべてのサンプルはほぼ同じようです。

それらはすべて同じ問題を抱えていることに気付いたので、それらについて報告しました:

現在、問題を調査して修正するためにさまざまな方法を試していますが、それでもうまくいきません。

質問

それらの問題に対処する方法はありますか?サポート ライブラリを使用してボトム シートを使用するための正しいコードは何ですか?

4

2 に答える 2

4

更新Googleマップのような完全な動作を取得する方法に関するすべての説明を見つけることができる完全な回答 へのリンク。


あなたのやりたいことをお手伝いします

私が望んでいたこと、これは私が以前に行った3フェーズです

サポート ライブラリ 23.x+ を使用するBottomSheetBehaviorと、次の手順でデフォルトを変更して、もう 1 つの統計情報を追加できます。

  1. Java クラスを作成し、それを拡張します。CoordinatorLayout.Behavior<V>
  2. BottomSheetBehavior貼り付けコードをデフォルトファイルから新しいファイルにコピーします。
  3. メソッドを変更しますclampViewPositionVertical

  4. 新しい状態を追加

    public static final int STATE_ANCHOR_POINT = X;

  5. 次のメソッドを変更します: onLayoutChildonStopNestedScrollBottomSheetBehavior<V> from(V view)およびsetState(オプション)


STATE_HIDDEN
STATE_COLLAPSED
STATE_DRAGGING
STATE_ANCHOR_POINT STATE_EXPANDEDの状態に
なりました。

setBottomSheetCallback元の XML と同じように使用できBottomSheetBehavior

ます (Google マップのような視差画像に関するものは何もありません)。

<CoordinatorLayout>

    <FrameLayout/>

    <AppBarLayout>
        <CollapsingToolbarLayout>
            <Toolbar/>
        </CollapsingToolbarLayout >
    </AppBarLayout >

    <NestedScrollView>
        <LinearLayout/>
    </NestedScrollView>

</CoordinatorLayout >



探しているものが見つかるサンプル プロジェクトへのリンク を追加します。

そして、これがどのように見えるかです:
[ CustomBottomSheetBehavior]

于 2016-05-25T17:12:14.513 に答える