2016-07-07 13 views
2

Android TVプロジェクトでVerticalGridFragmentのサブクラス化問題に直面しています:すべてうまくいきますが、1つの行にアイテムの数が少なくても最大アイテム数がある場合は、センターから。Android TV:VerticalGridFragmentの行アイテムのアライメント

要素の合計数が列の最大数より少ない場合にのみ起こるということは、奇妙なことです。たとえば、この数値が6であると仮定すると、アイテムが1つあれば、行の中央に配置されます。代わりに、私は14の項目がある場合、3番目の行の2つの項目は、左から始まって配置されます。

issue

leftまたはstartに行の項目を整列する方法はありますか? 何か間違っていますか?

私はこの方法で試しましたが、何も起こらず、アイテムは中央から順に並んでいます。

<style name="AppTheme.Widget.Leanback.GridItems.VerticalGridView" 
     parent="Widget.Leanback.GridItems.VerticalGridView"> 
    <item name="android:gravity">left|start</item> 
</style> 

そしてTheme.Leanbackから延びている私のテーマは、このようにそれを設定します。たぶん、あなたのマニフェストやレイアウトファイルで

+0

こんにちは@fasteque 私は根本的な原因についてもわかりませんが、VerticalGridView(親の)自体の幅を確認しましたか?私は、VerticalGridView自体の幅が狭く、中心に位置合わせされていると考えています。 – corochann

+0

@corochannあなたのクイックフィードバックに感謝します!良い点、私はこの点について調べるでしょう、あなたが正しいかもしれません。奇妙なものは(列の数が6であると仮定して)です:1-5項目で、それらは中央に置かれ、例えば7つの項目では、2列目の項目が正しく左になります。しかし、それはおそらく、最初の行の6つの項目が、VerticalGridViewに親を埋めるように強制するからです。 – fasteque

+0

@corochannあなたは正しく、 'VerticalGridPresenter'をサブクラス化して' VerticalGridView'のために私自身のレイアウトを提供しました。ここでは幅を 'match_parent'に設定しました。今度は、左にもっと空いている空白が見えても、アイテムは左にあります。しかしそれは小さな問題です。あなたがここで実際の答えを出すなら、私はそれを受け入れます。再度、感謝します。 – fasteque

答えて

1

を向き=縦 :ちょうど アンドロイドを追加してみてください

<item name="itemsVerticalGridStyle">@style/AppTheme.Widget.Leanback.GridItems.VerticalGridView</item> 
2

<item>の親であるVerticalGridView自体は、より小さい幅を有し、中心に整列している。

VerticalGridViewの幅をmatch_parentに設定できます(fastequeのコメントを参照)。

+0

マニフェストでどのように 'android:orientation = vertical'を設定しますか?そのような属性はありません。 'android:screenOrientation'を設定できますが、' vertical'値では設定できません。 – fasteque

+0

マニフェストにオリエンテーションを追加することをサポートする[SO答え](http://stackoverflow.com/a/582585/5995040)をチェックしてください。これが役に立ったらいいですか? –

+0

@ Mr.Rebotあなたは 'portrait'を' vertical'ではなく設定することができます。また、それはテレビのためのアプリケーションなので、私は '風景'でそれを持っている必要があります。 – fasteque

関連する問題