ListView
カードのように見せたいものがあります。隆起したカードの外観を実現する背景として使用する 9 パッチがあります。
画面よりも大きい可能性が高い場合は、カードの背景の上に上部の余白を表示できるようにしたいと思います。リストを下にスクロールすると、余白が画面から押し出されます。一番下までスクロールすると、同様に下の余白が表示されるはずです。
ListView.addHeaderView()
私の場合はカットし.addFooterView()
ないでください。それらはバッキングの一部になりListAdapter
、カードの背景の境界内に描画されるためです。
私はうまくいくテクニックを見てきました -ListAdapter
私が望むカードの背景の要素で各アイテムを飾るもので私のものを包みます. このアプローチでは、各アイテムがカードの背景の一部を描画します。
ただし、これは私が望むよりも効率が悪く、に属するロジックのようには見えませんListAdapter
。代わりに、この動作を追加するために拡張する方法を探していListView
ますが、AbsListView
とListView
.
ここでほぼ同じ質問が1年前に尋ねられたと思いますが、答えはありませんでした: (Android)ListViewの背景を塗りつぶし、ヘッダーの透明度を維持する方法
編集
この問題を表示する別の方法: 背景をリスト項目と一緒にスクロールさせる方法はありますか? 答えはノーだと思いListView
ます。スクロール可能なコンテンツではなく、背景 (つまり、ウィジェット) が画面に対して固定されていると思います。私がこの考え方で正しい方向に進んでいる場合、ListAdapter
-with-partial-backgrounds-per-item アプローチが唯一実行可能なアプローチであるように思われます。