11

DetailsOverviewRow と FullWidthDetailsOverviewRowPresenter を使用している詳細フラグメントがあります。ページが最初に読み込まれると、アクション ボタンが選択されます。一度押すと、フォーカスがボタンから離れ、他に何も起こりません。もう一度押すと、ページのさらに下にある ListRow にフォーカスが移動します。概要、またはプレゼンターで呼ばれる本文のセクションに焦点が当てられていない理由を理解しようとしています。

DetailsView の初期状態

DetailsView スクロール

概要/本文が読める 2 つのスクリーンショットの間に 2 番目の「状態」があってはなりませんか?

おそらく注目です。DetailsFragment はアクティビティ xml で宣言されていません。FragmentTransactions を使用して手動でフラグメントを変更しています。また、フラグメントは静的作成メソッドを使用してインスタンス化されます (以下のソース)。

前もって感謝します。

アクティビティ xml

詳細フラグメント Java

4

3 に答える 3

2

私は特にこの例を試したことはありませんが、Leanback サポート ライブラリで過ごした時間から、多くの役立つものが実際に提供されているにもかかわらず、多くのものが提供されていないことを学びました :D

だから私はこれらのことを試してみます:

1) 表示したい領域の何かがフォーカス可能であることを確認してください。(クリック可能な要素はデフォルトでフォーカス可能である必要がありますが、確認することをお勧めします) つまり、スクリーンショットではテキストのみで、その領域にはボタンや編集可能なコンテンツはありません。そのため、押し下げると、焦点を合わせるものは何もありません。body TextView をフォーカス可能にするとどうなりますか? (はい、サポート ライブラリがそれを処理してくれると期待する人もいるでしょうが、そうではないかもしれません。)

2) あなたが言ったように、フォーカスはボタンから離れるので、押したときに実際にフォーカスされるものを見つけてください - しかし、それはどこに行きますか? (どのビューがフォーカスされているかを調べる方法は? ) どこかに「方向の問題」がある可能性があります。つまり、フォーカスは、画面に表示されるものではなく、ビューの階層ツリーに基づいて移動します。場合によっては、一部の要素をスキップしたり、ビュー ツリーの予期しない部分にフォーカスを移動してどこかで動けなくなったりする可能性があります。これは、アルゴリズムにとっては理にかなっていますが、人間の観点からは論理的ではありません。

于 2016-09-12T16:14:20.520 に答える