問題タブ [android-coordinatorlayout]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - CollapsingToolbarLayout を使用した CoordinatorLayout がダイアログ フラグメントのキーボードで壊れる
最近、新しいサポート デザイン ライブラリを使用するようにアプリを移行することにしましたが、最近、非常に厄介なバグを発見しました。
ViewPager、NestedScrollView、または必要なスクロール動作を備えた RecyclerView など、AppBarLayout とスクロール可能なビューをホストする CoordinatorLayout があるとします。キーボードを表示するダイアログ フラグメントの表示を選択すると、AppBarLayout がスクロール ビューから切断され、一緒にスクロールしなくなります。
さらに、スクロール ビューは強制的に画面の下部半分にサイズ変更され、AppBar レイアウトは必要ないにもかかわらず、上部半分を使用します。
バグのビデオはこちら: Youtube Link
編集:
アクティビティでキーボードの softInputMode を「adjustPan」に設定すると、問題が修正されます。どうやら CoordinatorLayout は、キーボードによって動的にサイズ変更されるのが好きではありません。
問題のある XML は次のようになりますが、この動作を示す複数の XML バリエーションがあり、それらすべてに共通する要素は、CollapsingToolbarLayout を使用することです。
android - 新しいデザイン サポート ライブラリの CoordinatorLayout で静的フラグメントを使用する
私はライブラリの新しい機能を試してきましたが、思い通りにカスタマイズすることに頭を悩ませることはできません。
このサンプル コードを参考にしています: https://github.com/chrisbanes/cheesesquare
CoordinatorLayout の子として静的フラグメント(recyclerView と追加の空のビューを含む FrameLayout を含む)を追加することに成功しました。
作業の要点と結果:
フラグメントの上に CardView を 1 つだけ追加しようとしています。これは、上にドラッグしたときにツールバーにも同じ効果があるはずです。NestedScrollView 内の LinearLayout に両方を追加しようとしましたが、他のさまざまな組み合わせと一緒に、どれも成功しませんでした。カードビューをタップするたびに、それらは移動し、元の場所に戻ることはありません. さらに、カードビューをドラッグしてもツールバーはフェードアウトしますが、他には何も起こりません。
非動作要点と結果:
android - NestedScrollView と CoordinatorLayout。スクロールの問題
と に奇妙な問題がCoordinatorLayout
ありますNestedScrollView
(デザイン サポート ライブラリ 22.2.0 を使用)。
NestedScrollView
固定コンテンツが必要なサイズよりも小さいコンテンツを使用します。ただし、コンテンツを上下にスクロールしようとすると、コンテンツが移動し、元の場所に戻ることはありません。
ここに小さなサンプルがあります:
ここにコード:
android - ViewPager と CoordinatorLayout 内のビューの位置を修正する方法
次のレイアウトのアクティビティがあります。
読み込まれたフラグメントViewPager
のレイアウトは次のとおりです。
フラグメント内の位置を修正 (スクロールを防止)するにはどうすればよいFloatingActionButton
ですか (親と一緒にスクロールします)?
FloatingActionButton
アクティビティ レイアウトに移動できなかったことに注意してください。
android - 下にスクロールすると、ツールバーが表示される代わりに更新がトリガーされます
新しい CoordinatorLayout の使用を開始したところ、次の問題が発生しました。
ご覧のとおり、ツールバーが部分的に表示されていて、recyclerview が一番上の位置にあるときに下にスクロールしようとすると、ツールバーをプルダウンする代わりに更新イベントがトリガーされます。ユーザーは、それを表示するために、下にスクロールするよりも上にスクロールする必要があります。
レイアウト XML は次のようになります: activity_main.xml:
fragment_main.xml:
Ther SwipeRefreshLayout は、私のアプリのフラグメントにさらに要素があるため、FrameLayout にあります。
どんな助けでも大歓迎です。
android - CollapsingToolbarLayout での windowTranslucentStatus の使用
Google Play で見られるものと同様の効果を得ようとしています。
背後に画像がある透明なツールバーを表示する以下のレイアウトがあります。ユーザーがスクロールすると、画像ビューが画面外にスクロールする際に視差効果が生じます。ツールバーは、ユーザーが上にスクロールするたびに戻ります。imageview は、ユーザーがリストの先頭に到達したときにのみ戻ります。
これはすべてうまくいきます。
問題
windowTranslucentStatus を true に設定したとき。ビューのコンテンツはステータス バーの下に移動しますが、CollapsingToolbarLayout のコンテンツはステータス バーの高さの 2 倍上に移動します (CollapsingToolbarLayout は正しい高さを保持します)。
これは、画像の上部の一部が切り取られ、アクションバーがステータス バーの下ではなく下に表示されることを意味します。これの副作用として、現在、CollapsingToolbarLayout の下部に、ステータス バーと同じ高さのパディングがあります。
これは、windowTranslucentStatus がない場合の外観です。ここではすべて正常に動作します
windowTranslucentStatus を true に設定
ユーザーがリストの下から上にスクロールする (上からではなく)
android - 入力時に最大の高さになるまで CoordinatorLayout ツールバーが表示されない
私のactivity_main.xmlに含まれているのDrawerLayout
は、content_layout.xmlCoordinatorLayout
と呼ばれるものです。この中に myが含まれており、次にフラグメントのコンテンツの a が含まれています。CoordinatorLayout
AppBarLayout
Toolbar
LinearLayout
を含むフラグメントがRecyclerView
上にスクロールされると、ツールバーは正常に終了します。問題は、下にスクロールしてツールバーを戻すときに発生します。ツールバーは、ツールバーの高さ全体がスクロールされるまで表示されず、表示されているように見苦しい白いボックスがその場所に残ります。
content_layout.xml
ツールバーは を介して初期化されMainActivity
ますonCreate()
:
これを解決するための提案をいただければ幸いです。ありがとうございました。