問題タブ [leanback]
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 - Leanback で GridView が順不同で読み込まれる
開発中の Leanback (Android TV) プロジェクトに、カテゴリごとに複数の行を追加しようとしています。ただし、行が取り込まれる方法に奇妙な動作が見られます。私が使用しているコードは機能します。これはチュートリアルからのものです。
Presenter
行は、チュートリアルで作成したカスタムに渡すことによってロードされます。その部分がどのように機能するかは次のとおりです。
ただし、実行時gridView()
に にデータが入力されると、アイテムは左から右ではなく、上から下に入力されます。その動作を修正または調整して、本来あるべきように左から右にグリッドビューに追加する方法はありますか?
参考のために、2 つのスクリーンショットを示します。両方のスクリーンショットで、同じアイテム セットを読み込んでいます。
android - Android でファイルを保存/アクセスするためのディレクトリ
私は現在、Mac上のAndroid TV用のAndroid Studioでアプリを開発しています。最終的に、ローカルの画像ファイルを、カード ID と画像ファイル名の番号が一致するVerticalGridFragmentのカード画像としてロードしたいと考えています。プロトタイピングのために、現在、すべてのカードに表示される単一の1.jpgファイルを使用して、(完全な初心者として) ベスト プラクティスを設定しようとしています。
付属の Android TV エミュレーターを使用していますが、OSX ファイル システムへのアクセスや使用を試みるべきではないと想定しています。だから私の2つの質問は次のとおりです。
プロトタイプを作成して、1.jpg を各カードの画像にしようとしていますが、/root/1.jpgなどの内部ストレージのファイル パス文字列を使用してアクセスできるように、このファイルをどこに配置すればよいでしょうか。 これは後で/root/$.jpgに変更できます。ここで、$は各カードに関連付けられた動的 ID です。これは、エミュレーターがファイルにアクセスできること、デバイスがアプリの終了時にファイルにアクセスできること、およびプロトタイピング中にホスト OS からそこにファイルを配置できることの両方を満たす必要があります。
引き続きの質問です。アプリが完成したら、手動で画像ファイルを配置する必要はありません。上記の解決策は、デバイス上のこのディレクトリに画像を保存する簡単な方法も提供しますか?
ありがとう。
android - プロジェクトでjson検索をデータベース検索に置き換える
ここで十分な情報を提供していない場合はお詫びします。私は android/java を初めて使用し、さまざまなサンプル プロジェクトの要素を組み合わせて学習しています。
VerticalGridFragment
アルバムのカバー アートと詳細を列と行に読み込む Android TV プロジェクト (leanback を使用)の作業ページがあります。github の googlesamples の例から大いに借りています。
次の形式のテストmusic_database_proto.json
ファイルを使用します。
createRows()
次に、 (同じサンプル プロジェクトの) 関数を使用して、次を使用してこれをロードできます。
この例では、 CardRow.class、Card.class、およびそれらのさまざまなサポート クラスのサンプル プロジェクト クラスを使用します。
SQLite
正常に開始されるデータベースを実装し、 Android Studio のログでさまざまな結果を呼び出すことができます。ファイルの機能を置き換えて、データベースCards
にロードできるので、データベースから結果を挿入することをどこから始めればよいかわかりません。VerticalGridFragment
json
データベースの結果から を作成し、これをusingList<Card>
に追加するのと同じくらい簡単だと思いました。ただし、反復コードを使用してofオブジェクトを実装することはほとんどできませんでした。必死になって、データベースの結果を文字列に変換して、上に示した既存のコードに入力する必要があると思いましたか?mAdapter
mAdapter.addAll
List
Card
json
どんな助けでも感謝します。データベースは、json 変数の再作成と同じくらい基本的なものであり、それに合わせて調整できます。
android-tv - リーンバック ライブラリの VerticalGridFragment が最後の行のデータを正しくバインドしない
VerticalGridFragment を使用して、コンテンツの単一のリストを作成しています。アダプターに ArrayObjectAdapter を使用しています。私が気付いたのは、最後の行のデータが正しく配置されていないことです。例:
1) 上記の添付画像をご覧ください。
2) リストが 5 列で構成されていて、最後の行に表示するコンテンツが 4 つしかない場合、Leanback は 2 番目、3 番目、4 番目、5 番目のスロットにコンテンツを表示し、最初のスロットは空になります。
3) その他のケースでは、最後の 5 つのコンテンツが 1、2、3、4 スロットに表示され、最後のコンテンツが 5 番目のスロットに表示される代わりに、最後のコンテンツが完全に新しい行の中央 (3 番目のスロット) に配置されました。
最後の行に関しては、さらに多くの一貫性のないデータ バインディングがあります。
リーンバック ライブラリでこの種の動作に気づいた人はいますか? または、これを修正するための解決策はありますか?
これが私のコードの抜粋です:
android - Android TV: VerticalGridFragment 行項目の配置
Android TV プロジェクトでサブクラス化の問題に直面してVerticalGridFragment
います。すべて正常に動作しますが、1 つの行のアイテムが最大列数よりも少ない場合、アイテムは中央から水平方向に配置されます。
奇妙なことは、要素の総数が列の最大数よりも少ない場合にのみ発生することです。たとえば、この数が 6 であるとすると、アイテムが 1 つある場合、行の中央に配置されます。代わりに、14 個のアイテムがある場合、3 行目の 2 個のアイテムが左から配置されます。
left
行内の項目をまたはに揃える方法はありstart
ますか? 私は何か間違ったことをしていますか?
この方法で試してみましたが、何も起こりません。アイテムは中央から整列されます。
そして、から拡張する私のテーマでこのように設定しますTheme.Leanback
: